Up and running in 10 minutes
FlowMason installs like any other managed package. By the end of this guide you'll have your first AI-powered Salesforce action running — no custom Apex required.
1. Install the package
Run the SFDX command below, or search for FlowMason AI on AppExchange and click Get It Now. Both paths install the same managed package into your target org.
sf package install --package FlowMasonAI --target-org your-org-alias --wait 10 The install takes 2–5 minutes. Once complete, the following are available in your org:
- All FlowMason Apex classes and LWC components
- Custom Metadata Types:
FM_Config__mdt,LLMProviderConfig__mdt,FM_Trigger_Binding__mdt, and more - Custom objects:
PipelineExecution__c,Pipeline_Audit__c,Pipeline_Stage_Log__c - Permission sets:
FlowMason_Full_Access,FlowMason_Provider_Admin,FlowMason_Config_Admin - The Pipeline Studio Lightning app
2. Assign permission sets
Every user who will run or configure FlowMason — including you — needs the right permission set. Go to Setup → Permission Sets and assign the following:
| Permission Set | Who needs it |
|---|---|
FlowMason_Full_Access | Any user running AI actions, building flows, or using LWC components |
FlowMason_Provider_Admin | Admins who configure LLM providers and API keys |
FlowMason_Config_Admin | Admins who tune FM_Config__mdt settings |
FlowMason_Execution_Admin | Admins who need to cancel or resume any user's pipeline execution |
FlowMason_Full_Access to yourself right now. Missing this permission set is the most common reason AI actions fail to appear in Flow Builder.
3. Configure an LLM provider
FlowMason ships with Eden AI as the default provider — it's a smart router that picks the best available model for each call. To activate it:
- Go to Setup → Custom Metadata Types → LLM Provider Config → Manage Records
- Click the EdenAI Default record (pre-seeded on install)
- Paste your Eden AI API key into
ApiKey__c - Ensure
IsActive__cis checked - Save
If you'd rather use Anthropic, OpenAI, or another provider directly, see the Provider Configuration guide. You can always switch later — that's one of FlowMason's core promises.
4. Verify the install
Open Developer Console → Debug → Open Execute Anonymous Window and paste this. If you see bullet points in the log, you're good.
// Paste this into Developer Console → Execute Anonymous
Account a = [SELECT Id FROM Account LIMIT 1];
System.debug(FMSummarize.of(a.Id).summary);
// Open the log and look for the USER_DEBUG line — bullet points = you're up and running. 5. Run your first AI action
FMSummarize is the first primitive — it generates a concise summary of any Salesforce record. It works on any SObject without per-object configuration: Account, Case, Opportunity, or any custom object you have in your org.
// Option A: one line from any Apex context
String summary = FMSummarize.of(recordId).summary;
// Option B: custom prompt + full response
FMSummarize.Response r = FMSummarize.of(oppId, 'Write a 3-bullet AE briefing');
if (String.isBlank(r.errorMessage)) {
opportunity.Description = r.summary;
update opportunity;
} From Flow Builder, search for AI: Summarize Record and drag it onto the canvas. The action is under the FlowMason AI category. See Invocable Actions for a full walkthrough.
6. Build your first pipeline (optional)
Primitives like FMSummarize cover single-step operations. When you need to chain multiple steps — fetch a record, summarize it, classify the result, then write it back — you use a pipeline. Here's the programmatic API:
String json = new PipelineBuilder('my-first-pipeline')
.setName('Summarize and notify')
.addStage('summarize', 'summarize')
.withConfig('prompt', 'Summarize this record: {{input.recordId}}')
.end()
.setOutput('summarize')
.build();
ExecutionResult result = PipelineRunner.execute(json, new Map<String, Object>{
'recordId' => someRecord.Id
});
System.debug(result.output); Or skip the code entirely and build the same pipeline visually in Pipeline Studio. Studio exports SFDX-deployable metadata so you can version-control and promote it across environments.
Troubleshooting
Action doesn't appear in Flow Builder search
Two most common causes:
- The running user doesn't have
FlowMason_Full_Accessassigned. - You're searching with a category filter active — type "Summarize" in the action search box directly.
errorMessage says "Provider is required"
LLMProviderConfig__mdt record has IsActive__c = true. Go to Setup → Custom Metadata Types → LLM Provider Config and activate one record.errorMessage shows HTTP 401
ApiKey__c on the active LLMProviderConfig__mdt record.Callout timeout in bulk Flow runs
async execution mode.