- Support
- Integrations
- Salesforce
Salesforce
CRM integration · 178 node(s) including 1 trigger.
00Overview
Manage Salesforce leads, contacts, accounts, opportunities, cases, tasks, and any custom object
Every field below is exactly what you see in the Flomation editor. Fields marked ● live picker let you choose from a list pulled live from your account — no IDs to look up.
01Connecting Salesforce
Add your credentials as a Flomation environment secret, then pick them in each node. The connection fields are:
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Connection | secret | Required | Connect Salesforce, or paste an access token |
| Salesforce Instance URL | string | Leave blank — taken from your connection |
Pick an Environment on your flow (Flow Settings → Environment) so the secret resolves. Secret fields never show the value — they reference ${secrets.your_secret}.
02Account
Salesforce: Add Note to Account (Classic)
crm/salesforce/account_add_note · Action
Attach a note to a Salesforce account — a call summary, a delivery instruction, anything the team should see on the record. This writes a Classic Note, which appears in the account's Notes & Attachments list.
| Field | Type | Details | |
|---|---|---|---|
| Account | string | Required | Record ID of the account the note belongs to, e.g. 0015f00000AbCdEAAV |
| Title | string | Required | Call summary — 14 March (up to 80 characters) |
| Note | text | Spoke to Jane about the renewal; she will confirm numbers on Friday | |
| Private (only the note's owner and admins can see it) | boolean | ||
| Owner | string | Salesforce user ID to own the note; defaults to the connected user | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Relate Contact to Account
crm/salesforce/account_contact_relation_create · Action
Link a contact to another company they work with, and say what their role is there — a consultant who advises three of your customers, or a buyer who also sits on a parent company's board. The contact keeps their own main account.
| Field | Type | Details | |
|---|---|---|---|
| Account | string | Required | Record ID of the company to relate the contact to, e.g. 0015f00000AbCdEAAV |
| Contact | string | Required | Record ID of the contact, e.g. 0035f00000XyZabAAF |
| Roles | string | Decision Maker, Business User (comma-separated; must match roles set up in your org) | |
| Active Relationship | boolean | ||
| Start Date | datetime | ||
| End Date | datetime | ||
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Remove Contact from Account
crm/salesforce/account_contact_relation_delete · Action
Remove the link between a contact and one of the other companies they work with. The contact and both companies are untouched — only the relationship is removed.
| Field | Type | Details | |
|---|---|---|---|
| Relationship | string | Required | Relationship ID from Get Many Account-Contact Relationships, e.g. 07n5f000000AbCdAAK |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Account-Contact Relationships
crm/salesforce/account_contact_relation_get_all · Action
List who is connected to a company and in what role — or, given a contact, every company they are connected to. Covers the related contacts a company has as well as its own direct ones.
| Field | Type | Details | |
|---|---|---|---|
| Account | string | Record ID of the company, to list its contacts, e.g. 0015f00000AbCdEAAV | |
| Contact | string | Record ID of the contact, to list their companies, e.g. 0035f00000XyZabAAF | |
| Active Relationships Only | boolean | ||
| Role | string | Decision Maker (returns relationships that include this role) | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Fields | string | Id, Contact.Name, Roles (blank returns a readable default set) | |
| Sort By | string | Contact.Name ASC, or CreatedDate DESC |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Create Account
crm/salesforce/account_create · Action
Add a company to Salesforce as an Account, with its billing and shipping addresses, phone, website, owner and classification. Any field your org has added can be set through Additional Fields.
| Field | Type | Details | |
|---|---|---|---|
| Company Name | string | Required | Acme Manufacturing Ltd |
| Account Number | string | Your own reference for this customer, e.g. CUST-00142 | |
| Type | string | Customer, Prospect, Partner — must match a value set up in your org | |
| Account Source | string | Web, Phone Inquiry, Partner Referral | |
| Industry | string | Manufacturing, Retail, Education | |
| Website | string | https://www.acme.co.uk | |
| Phone | string | +44 20 7946 0958 | |
| Fax | string | +44 20 7946 0959 | |
| Description | text | Notes about this company | |
| Annual Revenue | string | 2500000 (in your org's default currency) | |
| Number of Employees | integer | 120 | |
| Owner | string | Salesforce user ID of the account owner, e.g. 0055f000004XyzAAAS | |
| Parent Account | string | Record ID of the parent company, e.g. 0015f00000AbCdEAAV | |
| Record Type | string | Record type ID, only if your org uses account record types | |
| Line of Business | string | Short description of what the company does | |
| Data.com Key | string | Data.com company ID, if you sync from Data.com | |
| Billing Street | string | 14 Bridge Street | |
| Billing City | string | Manchester | |
| Billing County / State | string | California — must match your org's State list, if it uses one | |
| Billing Postcode | string | M1 4WT | |
| Billing Country | string | United Kingdom | |
| Shipping Street | string | Unit 7, Carlton Industrial Estate | |
| Shipping City | string | Leeds | |
| Shipping County / State | string | West Yorkshire | |
| Shipping Postcode | string | LS1 2AB | |
| Shipping Country | string | United Kingdom | |
| Additional Fields (JSON) | object | {"Rating":"Hot","Customer_Tier__c":"Gold"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Account
crm/salesforce/account_delete · Action
Send a Salesforce account to the Recycle Bin, where it can be restored for 15 days. Contacts, opportunities and cases under the account go with it.
| Field | Type | Details | |
|---|---|---|---|
| Account | string | Required | Record ID of the account to delete, e.g. 0015f00000AbCdEAAV |
Returns: id, result, tool_result, success, error
Salesforce: Get Account Setup Info
crm/salesforce/account_describe · Action
Find out how the Account object is set up in your Salesforce org — the accounts you viewed most recently, and (in Full detail) every field, picklist choice and record type available to build flows against.
| Field | Type | Details | |
|---|---|---|---|
| Detail | string | Overview — choices: Overview (summary plus recently viewed accounts), Full (every field, picklist value and record type) |
Returns: id, result, tool_result, success, error
Salesforce: Get Account
crm/salesforce/account_get · Action
Look up one Salesforce account by its record ID and return its details. Leave Fields blank to get everything the connected Salesforce user is allowed to see.
| Field | Type | Details | |
|---|---|---|---|
| Account | string | Required | Record ID of the account, e.g. 0015f00000AbCdEAAV |
| Fields | string | Name, Phone, BillingCity (comma-separated; blank returns every field) |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Accounts
crm/salesforce/account_get_all · Action
List accounts from Salesforce, optionally narrowed by a filter such as Industry or Billing City. Turn on Return All to fetch every match, page by page.
| Field | Type | Details | |
|---|---|---|---|
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Fields | string | Id, Name, Phone, BillingCity (blank returns Id, Name, Type and Last Modified) | |
| Filter Field | string | Industry | |
| Filter Comparison | string | Equals — choices: Equals, Does not equal, Less than, Less than or equal to, Greater than, Greater than or equal to, Matches pattern (use % as a wildcard), Does not match pattern, Is one of (comma-separated), Is not one of (comma-separated) | |
| Filter Value | string | Manufacturing (or TODAY, LAST_N_DAYS:7 for date fields) | |
| More Filters | object | [{"field":"NumberOfEmployees","operator":">","value":"250"}] | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | Name ASC, or LastModifiedDate DESC | |
| Include Deleted (records in the Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Account
crm/salesforce/account_update · Action
Change details on an existing Salesforce account. Only the fields you fill in are changed — everything you leave blank is left exactly as it is.
| Field | Type | Details | |
|---|---|---|---|
| Account | string | Required | Record ID of the account to update, e.g. 0015f00000AbCdEAAV |
| Company Name | string | Acme Manufacturing Ltd | |
| Account Number | string | Your own reference for this customer, e.g. CUST-00142 | |
| Type | string | Customer, Prospect, Partner — must match a value set up in your org | |
| Account Source | string | Web, Phone Inquiry, Partner Referral | |
| Industry | string | Manufacturing, Retail, Education | |
| Website | string | https://www.acme.co.uk | |
| Phone | string | +44 20 7946 0958 | |
| Fax | string | +44 20 7946 0959 | |
| Description | text | Notes about this company | |
| Annual Revenue | string | 2500000 (in your org's default currency) | |
| Number of Employees | integer | 120 | |
| Owner | string | Salesforce user ID to transfer the account to, e.g. 0055f000004XyzAAAS | |
| Parent Account | string | Record ID of the parent company, e.g. 0015f00000AbCdEAAV | |
| Record Type | string | Record type ID, only if your org uses account record types | |
| Line of Business | string | Short description of what the company does | |
| Data.com Key | string | Data.com company ID, if you sync from Data.com | |
| Billing Street | string | 14 Bridge Street | |
| Billing City | string | Manchester | |
| Billing County / State | string | California — must match your org's State list, if it uses one | |
| Billing Postcode | string | M1 4WT | |
| Billing Country | string | United Kingdom | |
| Shipping Street | string | Unit 7, Carlton Industrial Estate | |
| Shipping City | string | Leeds | |
| Shipping County / State | string | West Yorkshire | |
| Shipping Postcode | string | LS1 2AB | |
| Shipping Country | string | United Kingdom | |
| Additional Fields (JSON) | object | {"Rating":"Hot","Customer_Tier__c":"Gold"} |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Account
crm/salesforce/account_upsert · Action
Keep Salesforce in step with another system: match an account on your own reference (an External ID field) and update it if it exists, or create it if it does not. Safe to run over and over — it will not create duplicates.
| Field | Type | Details | |
|---|---|---|---|
| Match Against | string | Required | The External ID field to match on, e.g. External_Ref__c |
| Match Value | string | Required | The value to look for in that field, e.g. CUST-00142 |
| Company Name | string | Acme Manufacturing Ltd — only needed the first time, when the account has to be created | |
| Account Number | string | Your own reference for this customer, e.g. CUST-00142 | |
| Type | string | Customer, Prospect, Partner — must match a value set up in your org | |
| Account Source | string | Web, Advertisement, Trade Show — must match your org's Account Source list | |
| Industry | string | Manufacturing, Retail, Education | |
| Website | string | https://www.acme.co.uk | |
| Phone | string | +44 20 7946 0958 | |
| Fax | string | +44 20 7946 0959 | |
| Description | text | Notes about this company | |
| Annual Revenue | string | 2500000 (in your org's default currency) | |
| Number of Employees | integer | 120 | |
| Owner | string | Salesforce user ID of the account owner, e.g. 0055f000004XyzAAAS | |
| Parent Account | string | Record ID of the parent company, e.g. 0015f00000AbCdEAAV | |
| Record Type | string | Record type ID, only if your org uses account record types | |
| Line of Business | string | Short description of what the company does | |
| Data.com Key | string | Data.com company ID, if you sync from Data.com | |
| Billing Street | string | 14 Bridge Street | |
| Billing City | string | Manchester | |
| Billing County / State | string | California — must match your org's State list, if it uses one | |
| Billing Postcode | string | M1 4WT | |
| Billing Country | string | United Kingdom | |
| Shipping Street | string | Unit 7, Carlton Industrial Estate | |
| Shipping City | string | Leeds | |
| Shipping County / State | string | West Yorkshire | |
| Shipping Postcode | string | LS1 2AB | |
| Shipping Country | string | United Kingdom | |
| Additional Fields (JSON) | object | {"Rating":"Hot","Customer_Tier__c":"Gold"} |
Returns: id, result, tool_result, success, error
03Api
Salesforce: Custom API Call
crm/salesforce/api_request · Action
Advanced: call any part of the Salesforce API with your existing connection. For anything the other Salesforce actions do not cover yet, including your org's own Apex REST endpoints.
| Field | Type | Details | |
|---|---|---|---|
| Method | string | choices: GET, POST, PATCH, PUT, DELETE | |
| Path | string | Required | /limits or /sobjects/Account/describe — or /services/apexrest/MyEndpoint |
| Query Parameters | object | {"q":"SELECT Id FROM Account LIMIT 5"} — added to the path for you | |
| Body | object | {"Name":"Acme Ltd"} — for POST, PATCH and PUT |
Returns: id, result, tool_result, success, error
04Approval
Salesforce: Approve Request
crm/salesforce/approval_approve · Action
Approve a Salesforce record that is waiting for approval, with an optional comment recorded against the decision.
| Field | Type | Details | |
|---|---|---|---|
| Approval Request | string | Required | 04i5f00000AbcDEAA — from Submit for Approval, or Get Many Approval Processes |
| Comments | text | Approved — discount is within the agreed range for this account | |
| Send To (Next Approver) | string | 0055f00000AbcDEAA — only if the next step lets you pick | |
| Additional Fields | object | {"comments":"Approved"} — any other approval request field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Approval Processes
crm/salesforce/approval_get_all · Action
List the approval processes set up in your Salesforce org, and optionally the records currently waiting for approval in each.
| Field | Type | Details | |
|---|---|---|---|
| Object | string | Opportunity — leave empty for every object | |
| Also List What Is Waiting for Approval | boolean | ||
| Waiting On (User) | string | 0055f00000AbcDEAA — only items assigned to this person | |
| Limit (items waiting) | integer | 50 by default, up to 2000 — applies to the waiting items, not the processes |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Reject Request
crm/salesforce/approval_reject · Action
Reject a Salesforce record that is waiting for approval, recording the reason against the decision.
| Field | Type | Details | |
|---|---|---|---|
| Approval Request | string | Required | 04i5f00000AbcDEAA — from Submit for Approval, or Get Many Approval Processes |
| Reason for Rejecting | text | Priced below our floor — resubmit at 15% or less | |
| Additional Fields | object | {"comments":"Rejected"} — any other approval request field |
Returns: id, result, tool_result, success, error
Salesforce: Submit for Approval
crm/salesforce/approval_submit · Action
Send a Salesforce record into an approval process so the right person is asked to approve it.
| Field | Type | Details | |
|---|---|---|---|
| Object | string | Opportunity — narrows the record picker | |
| Record to Submit | string | Required | 0065f00000AbcDEAA |
| Approval Process | string | Discount_Approval — leave empty to let Salesforce choose | |
| Send To (Approver) | string | 0055f00000AbcDEAA — only if the process lets the submitter pick | |
| Submit On Behalf Of | string | 0055f00000AbcDEAA — defaults to the connected user | |
| Comments | text | Discount is 25% — approved verbally by the customer's account manager | |
| Ignore the Process Entry Criteria | boolean | ||
| Additional Fields | object | {"processDefinitionNameOrId":"Discount_Approval"} — any other approval request field |
Returns: id, result, tool_result, success, error
05Asset
Salesforce: Create Asset
crm/salesforce/asset_create · Action
Record something a customer owns - which product it is, its serial number, when it was installed and when the warranty runs out. It is what turns "they bought a boiler two years ago" into something the person answering the phone can actually look up.
| Field | Type | Details | |
|---|---|---|---|
| Asset Name | string | Required | GenWatt Diesel 1000kW - Edge Communications (up to 255 characters) |
| Customer (Account) | string | 0015f00000AbCdEAAV - every asset needs an account, a contact, or both | |
| Customer (Contact) | string | 0035f00000XyZabAAF - every asset needs an account, a contact, or both | |
| Product | string | 01t5f000004AbCdAAK - the Salesforce product this asset is one of; its product code is copied across for you | |
| Serial Number | string | SN-00042 - what is stamped on the unit | |
| Status | string | Shipped, Installed, Registered, Purchased or Obsolete - Salesforce saves anything you type here without complaint, so a typo becomes a real status | |
| Purchase Date | datetime | 2026-06-20 (the date only) | |
| Install Date | datetime | 2026-07-01 (the date only) | |
| Warranty / Usage End Date | datetime | 2029-06-30 (the date only) - this is the date an "is it still under warranty?" check looks at | |
| Price | string | 50000.00 - what the customer paid, in your org's currency | |
| Quantity | string | 1 - how many units this record covers | |
| Part Of (Parent Asset) | string | 02i5f000000AbCdAAK - if this is a component of a bigger asset | |
| Owner | string | 0055f00000AbCdEAAV - leave blank and the connected Salesforce user owns it | |
| Supplied By (Account) | string | 0015f00000AbCdEAAV - the company that supplied it, if it was not you | |
| Serviced By (Account) | string | 0015f00000AbCdEAAV - the company that maintains it | |
| This Is A Competitor's Product | boolean | ||
| This Is Your Own Company's Asset | boolean | ||
| Description | text | Anything the support team should know - where it is on site, who signed for it | |
| Location Street | text | 1 Deansgate - where the asset physically is | |
| Location City | string | Manchester | |
| Location County / State | string | Leave this blank unless your org's State list has an entry for it - most orgs check it against a fixed list and refuse anything typed by hand | |
| Location Postcode | string | M1 1AA | |
| Location Country | string | United Kingdom | |
| Record Type | string | 0125f000000AbCdAAK - only if your org uses record types on assets | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the asset |
Returns: id, result, tool_result, success, error
Salesforce: Delete Asset
crm/salesforce/asset_delete · Action
Send an asset to the Salesforce Recycle Bin, where an administrator can restore it for 15 days. If a unit has simply been retired rather than recorded by mistake, set its status to Obsolete instead so the customer's history is kept. Deleting an asset that other assets sit under empties their Part Of link without warning.
| Field | Type | Details | |
|---|---|---|---|
| Asset ID | string | Required | 02i5f000000AbCdAAK - the asset to delete, not its serial number |
Returns: id, result, tool_result, success, error
Salesforce: Get Asset
crm/salesforce/asset_get · Action
Look up one asset by its Salesforce ID and return everything on it - which product it is, its serial number, install and purchase dates, when the warranty ends and every custom field.
| Field | Type | Details | |
|---|---|---|---|
| Asset ID | string | Required | 02i5f000000AbCdAAK - the asset's Salesforce ID, not its serial number |
| Fields | string | Name,SerialNumber,Status,InstallDate,UsageEndDate - leave blank to return every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Assets
crm/salesforce/asset_get_all · Action
List what customers own - everything on one account when they ring up, every unit of one product, everything whose warranty runs out in the next month. Turn on Return All to fetch every match instead of one page.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | Name,SerialNumber,Status,UsageEndDate - leave blank for the usual asset fields | |
| Warranty Ends On Or After | string | TODAY - or a date like 2026-08-01; always applies, even with Match ANY on | |
| Warranty Ends On Or Before | string | NEXT_N_DAYS:30 - the expiring-warranty window; always applies, even with Match ANY on | |
| Customer (Account) | string | 0015f00000AbCdEAAV - only assets belonging to this account | |
| Customer (Contact) | string | 0035f00000XyZabAAF - only assets belonging to this contact | |
| Product | string | 01t5f000004AbCdAAK - only assets of this product | |
| Status | string | Installed, Shipped, Registered, Purchased or Obsolete | |
| Serial Number | string | SN-00042 - find the one unit by the number stamped on it | |
| Filter Field | string | One more field to filter on, e.g. Price or Site_Code__c | |
| Filter Comparison | string | How to compare the field (defaults to Equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (comma-separated), Is Not One Of (comma-separated) | |
| Filter Value | string | What to compare against, e.g. 5000, LAST_N_DAYS:90, %Diesel% | |
| More Filters | object | [{"field":"Price","operator":">","value":"5000"},{"field":"IsCompetitorProduct","operator":"=","value":"false"}] | |
| Match ANY filter instead of all | boolean | Off: an asset has to match every filter. On: matching any one of them is enough. Warranty Ends On Or After / Before always apply either way | |
| Sort By | string | UsageEndDate ASC - or InstallDate DESC | |
| Limit | integer | 50 by default, up to 2000 - ignored when Return All is on | |
| Return All | boolean | Tick to keep fetching pages until every matching asset has been collected | |
| Include Deleted | boolean | Tick to include assets sitting in the Salesforce Recycle Bin |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Asset
crm/salesforce/asset_update · Action
Change an asset in Salesforce - mark it Installed once the engineer has been, extend the warranty date, move it to a new owner, retire it as Obsolete. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Asset ID | string | Required | 02i5f000000AbCdAAK - the asset to change, not its serial number |
| Asset Name | string | GenWatt Diesel 1000kW - Edge Communications (up to 255 characters) | |
| Status | string | Shipped, Installed, Registered, Purchased or Obsolete - Salesforce saves anything you type here without complaint, so a typo becomes a real status | |
| Customer (Account) | string | 0015f00000AbCdEAAV - do not clear both this and the contact; Salesforce needs one of them | |
| Customer (Contact) | string | 0035f00000XyZabAAF - do not clear both this and the account; Salesforce needs one of them | |
| Product | string | 01t5f000004AbCdAAK - the Salesforce product this asset is one of | |
| Serial Number | string | SN-00042 - what is stamped on the unit | |
| Purchase Date | datetime | 2026-06-20 (the date only) | |
| Install Date | datetime | 2026-07-01 (the date only) | |
| Warranty / Usage End Date | datetime | 2029-06-30 (the date only) - this is the date an "is it still under warranty?" check looks at | |
| Price | string | 50000.00 - what the customer paid, in your org's currency | |
| Quantity | string | 1 - how many units this record covers | |
| Part Of (Parent Asset) | string | 02i5f000000AbCdAAK - if this is a component of a bigger asset | |
| Owner | string | 0055f00000AbCdEAAV - the Salesforce user who should own the asset | |
| Supplied By (Account) | string | 0015f00000AbCdEAAV - the company that supplied it, if it was not you | |
| Serviced By (Account) | string | 0015f00000AbCdEAAV - the company that maintains it | |
| This Is A Competitor's Product | boolean | ||
| This Is Your Own Company's Asset | boolean | ||
| Description | text | Anything the support team should know - where it is on site, who signed for it | |
| Location Street | text | 1 Deansgate - where the asset physically is | |
| Location City | string | Manchester | |
| Location County / State | string | Leave this blank unless your org's State list has an entry for it - most orgs check it against a fixed list and refuse anything typed by hand | |
| Location Postcode | string | M1 1AA | |
| Location Country | string | United Kingdom | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the asset |
Returns: id, result, tool_result, success, error
06Attachment
Salesforce: Create Attachment (Classic)
crm/salesforce/attachment_create · Action
Attach a file to a record using Salesforce's older Attachment object. For most orgs Upload File is the better choice — Classic attachments do not show in the Lightning Files list.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Account, Contact, Case… — only used to help you pick the record | |
| Attach To Record | string | Required | The record the file belongs to, e.g. 0015f00000XyzAAB |
| File Name (optional — defaults to the attached file's own name) | string | contract.pdf — include the extension | |
| File | string | Required | The file from an earlier step, or base64 content |
| Content Type | string | application/pdf — blank lets Salesforce work it out from the name | |
| Description | text | What this file is, for whoever finds it later | |
| Owner | string | Salesforce user ID, e.g. 0055f000004XyzAAB — blank means you | |
| Private (only the owner and admins can see it) | boolean | ||
| Additional Fields | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Attachment (Classic)
crm/salesforce/attachment_delete · Action
Delete a Classic attachment from the record it is on. It goes to the Recycle Bin, so it can be restored for 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Attachment | string | Required | Attachment ID, e.g. 00P5f00000XyzAAB |
Returns: id, result, tool_result, success, error
Salesforce: Describe Attachments (Classic)
crm/salesforce/attachment_describe · Action
Check what your org stores on a Classic attachment and list the attachments you opened most recently — handy for finding the right field names.
| Field | Type | Details | |
|---|---|---|---|
| Include Every Field (larger response) | boolean |
Returns: id, result, tool_result, success, error
Salesforce: Download Attachment (Classic)
crm/salesforce/attachment_download · Action
Download a Classic attachment's contents so a later step can email it, save it to Drive or send it on.
| Field | Type | Details | |
|---|---|---|---|
| Attachment | string | Required | Attachment ID, e.g. 00P5f00000XyzAAB |
| Save As | string | Leave blank to use the name the attachment has in Salesforce |
Returns: id, file, file_name, content_type, size, result, tool_result, success, error
Salesforce: Get Attachment (Classic)
crm/salesforce/attachment_get · Action
Look up a Classic attachment's details — its name, size, type, owner and which record it belongs to. Use Download Attachment to get the file itself.
| Field | Type | Details | |
|---|---|---|---|
| Attachment | string | Required | Attachment ID, e.g. 00P5f00000XyzAAB |
| Fields to Return | string | Leave blank for everything, or e.g. Id,Name,ContentType,BodyLength |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Attachments (Classic)
crm/salesforce/attachment_get_all · Action
List Classic attachments, optionally filtered and sorted — for example every attachment on one record, or everything added since yesterday.
| Field | Type | Details | |
|---|---|---|---|
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Fields to Return | string | Leave blank for the usual ones, or e.g. Id,Name,ContentType,BodyLength,ParentId | |
| Filter On Field | string | ParentId | |
| Comparison | string | Equals — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Matches Pattern, Does Not Match Pattern, Is One Of, Is Not One Of | |
| Value | string | 0015f00000XyzAAB — for Matches Pattern use % as the wildcard, e.g. %invoice% | |
| More Filters | object | [{"field":"BodyLength","operator":">","value":"1000000"}] | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | CreatedDate DESC, Name ASC | |
| Include Deleted Attachments (Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Attachment (Classic)
crm/salesforce/attachment_update · Action
Rename a Classic attachment, change its description, owner or privacy, or replace the file itself. Anything you leave blank is left as it was.
| Field | Type | Details | |
|---|---|---|---|
| Attachment | string | Required | Attachment ID, e.g. 00P5f00000XyzAAB |
| File Name | string | contract-signed.pdf — leave blank to keep the current name | |
| Description | text | Leave blank to keep the current description | |
| Owner | string | Salesforce user ID, e.g. 0055f000004XyzAAB — leave blank to keep the current owner | |
| Private (only the owner and admins can see it) | boolean | ||
| Replace File With | string | A file from an earlier step, or base64 content — leave blank to keep the current file | |
| Content Type | string | application/pdf — only needed when replacing the file with a different type | |
| Additional Fields | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
07Campaign
Salesforce: Create Campaign
crm/salesforce/campaign_create · Action
Set up a marketing campaign in Salesforce — a webinar, open day, trade show or email blast — so people can be added to it and its results tracked. Leave a box blank to let Salesforce use its own default.
| Field | Type | Details | |
|---|---|---|---|
| Campaign Name | string | Required | Autumn Open Day 2026 |
| Campaign Type | string | Webinar, Conference, Trade Show, Email, Advertisement, Direct Mail, Other | |
| Status | string | Planned, In Progress, Completed or Aborted | |
| Active | boolean | Tick this — Salesforce creates campaigns inactive, and an inactive campaign does not appear when staff search for one | |
| Start Date | datetime | 2026-09-14 — the day the campaign begins (any time of day is ignored) | |
| End Date | datetime | 2026-09-16 — the day the campaign finishes | |
| Description | text | What this campaign is for, who it targets, anything the team should know | |
| Parent Campaign | string | 701... — the bigger campaign this one rolls up into | |
| Owner | string | 005... — the Salesforce user who owns this campaign (defaults to the connected user) | |
| Record Type | string | 012... — only needed if your org uses campaign record types | |
| Budgeted Cost | money | 5000.00 | |
| Actual Cost | money | 4750.00 | |
| Expected Revenue | money | 25000.00 | |
| Expected Response Rate (%) | string | 12.5 — the percentage of people you expect to respond | |
| Number Sent | integer | How many invitations or emails went out | |
| Additional Fields (JSON) | object | {"CampaignMemberRecordTypeId":"012...","Region__c":"North"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Campaign
crm/salesforce/campaign_delete · Action
Send a Salesforce campaign to the Recycle Bin. Everyone who was signed up to it goes with it, and restoring the campaign from the Recycle Bin within 15 days brings them all back.
| Field | Type | Details | |
|---|---|---|---|
| Campaign ID | string | Required | 701... — copy it from the end of the campaign's web address |
Returns: id, result, tool_result, success, error
Salesforce: Get Campaign
crm/salesforce/campaign_get · Action
Look up one Salesforce campaign and everything it has recorded — its dates, budget and the running totals of how many leads, contacts, responses and opportunities it has produced.
| Field | Type | Details | |
|---|---|---|---|
| Campaign ID | string | Required | 701... — copy it from the end of the campaign's web address |
| Fields | string | Leave blank for every field, or list them: Name, Status, NumberOfResponses, ActualCost |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Campaigns
crm/salesforce/campaign_get_all · Action
List your Salesforce campaigns — all of them, or just the ones you care about, such as active campaigns or everything with a status of In Progress. Turn on Return All to fetch every match instead of one page.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | Leave blank for the usual ones, or list them: Name, Status, Type, StartDate, NumberOfResponses | |
| Active Campaigns Only | boolean | Tick to hide campaigns that have been switched off | |
| Status | string | Planned, In Progress, Completed or Aborted | |
| Campaign Type | string | Webinar, Conference, Trade Show, Email, Advertisement, Direct Mail, Other | |
| Filter Field | string | One more field to filter on, e.g. StartDate or Region__c | |
| Filter Comparison | string | How to compare the field (defaults to Equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (comma-separated), Is Not One Of (comma-separated) | |
| Filter Value | string | What to compare against, e.g. THIS_MONTH, 2026-09-01, %Open Day% | |
| More Filters | object | [{"field":"BudgetedCost","operator":">","value":"5000"},{"field":"StartDate","operator":">=","value":"THIS_YEAR"}] | |
| Match ANY filter instead of all | boolean | Off: a campaign has to match every filter. On: matching any one of them is enough. Active Campaigns Only always applies either way | |
| Sort By | string | StartDate DESC, Name ASC | |
| Limit | integer | 50 by default, up to 2000 — ignored when Return All is on | |
| Return All | boolean | Tick to keep fetching pages until every matching campaign has been collected | |
| Include Deleted | boolean | Tick to include campaigns sitting in the Salesforce Recycle Bin |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Add Campaign Member
crm/salesforce/campaign_member_create · Action
Sign a lead or a contact up to a Salesforce campaign and set where they have got to — Sent, Responded, Registered, whatever your campaign uses. Give either a Lead or a Contact, not both.
| Field | Type | Details | |
|---|---|---|---|
| Campaign ID | string | Required | 701... — the campaign to add them to |
| Lead ID | string | 00Q... — use this for someone who is still a lead | |
| Contact ID | string | 003... — use this for someone who is already a contact | |
| Member Status | string | Sent or Responded, unless your admin set up others such as Registered or Attended | |
| Additional Fields (JSON) | object | {"Description":"Signed up on the website","Table_Number__c":"12"} |
Returns: id, result, tool_result, success, error
Salesforce: Remove Campaign Member
crm/salesforce/campaign_member_delete · Action
Take someone off a Salesforce campaign when they cancel. Give the campaign member's ID, or just the campaign plus the lead or contact and they will be found for you. The lead or contact itself is untouched.
| Field | Type | Details | |
|---|---|---|---|
| Campaign Member ID | string | 00v... — or leave blank and fill in the three boxes below instead | |
| Campaign ID | string | 701... — used to find the member when you have not got their member ID | |
| Lead ID | string | 00Q... — the lead to remove from that campaign | |
| Contact ID | string | 003... — the contact to remove from that campaign |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Campaign Members
crm/salesforce/campaign_member_get_all · Action
See who is signed up to a Salesforce campaign and where each of them has got to — invited, responded, registered, attended. Filter by status to pull just the people you need to chase.
| Field | Type | Details | |
|---|---|---|---|
| Campaign ID | string | Required | 701... — the campaign whose members you want |
| Fields | string | Leave blank for name, email, status and response, or list your own: Name, Email, Status, Title | |
| Member Status | string | Only members at this status, e.g. Responded — must match your org's Campaign Member Status list for that campaign | |
| Responded Only | boolean | Tick to list only the people who have responded | |
| Leads Or Contacts | string | Leave blank for both — choices: Leads Only, Contacts Only | |
| More Filters | object | [{"field":"HasResponded","operator":"=","value":"false"},{"field":"City","operator":"=","value":"Leeds"}] | |
| Sort By | string | LastName ASC, Status ASC | |
| Limit | integer | 50 by default, up to 2000 — ignored when Return All is on | |
| Return All | boolean | Tick to keep fetching pages until every member has been collected | |
| Include Deleted | boolean | Tick to include members sitting in the Salesforce Recycle Bin |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Campaign Member
crm/salesforce/campaign_member_update · Action
Move someone along in a Salesforce campaign — Registered to Attended, or Sent to Responded. Give the campaign member's ID, or just the campaign plus the lead or contact and they will be found for you.
| Field | Type | Details | |
|---|---|---|---|
| Campaign Member ID | string | 00v... — or leave blank and fill in the three boxes below instead | |
| Campaign ID | string | 701... — used to find the member when you have not got their member ID | |
| Lead ID | string | 00Q... — the lead to find within that campaign | |
| Contact ID | string | 003... — the contact to find within that campaign | |
| Member Status | string | The status to move them to, e.g. Responded — must match your org's Campaign Member Status list for that campaign | |
| Additional Fields (JSON) | object | {"Description":"Arrived at 09:15","Table_Number__c":"12"} — a null empties that field |
Returns: id, result, tool_result, success, error
Salesforce: Update Campaign
crm/salesforce/campaign_update · Action
Change a Salesforce campaign after the event — mark it Completed, move its dates, or record what it actually cost. Boxes you leave blank are left exactly as they are, so you can change one thing without disturbing the rest.
| Field | Type | Details | |
|---|---|---|---|
| Campaign ID | string | Required | 701... — copy it from the end of the campaign's web address |
| Campaign Name | string | Autumn Open Day 2026 | |
| Campaign Type | string | Webinar, Conference, Trade Show, Email, Advertisement, Direct Mail, Other | |
| Status | string | Planned, In Progress, Completed or Aborted | |
| Active | boolean | Tick to keep the campaign active, untick to retire it | |
| Start Date | datetime | 2026-09-14 — the day the campaign begins (any time of day is ignored) | |
| End Date | datetime | 2026-09-16 — the day the campaign finishes | |
| Description | text | What this campaign is for, who it targets, anything the team should know | |
| Parent Campaign | string | 701... — the bigger campaign this one rolls up into | |
| Owner | string | 005... — the Salesforce user who owns this campaign | |
| Budgeted Cost | money | 5000.00 | |
| Actual Cost | money | 4750.00 — what the campaign really cost once the invoices are in | |
| Expected Revenue | money | 25000.00 | |
| Expected Response Rate (%) | string | 12.5 — the percentage of people you expect to respond | |
| Number Sent | integer | How many invitations or emails went out | |
| Additional Fields (JSON) | object | {"Region__c":"North","EndDate":null} — a null empties that field |
Returns: id, result, tool_result, success, error
08Case
Salesforce: Add Case Comment
crm/salesforce/case_add_comment · Action
Post a comment onto a Salesforce case — an internal note for the team, or a reply the customer can see in the portal.
| Field | Type | Details | |
|---|---|---|---|
| Case ID | string | Required | 5005f00000XyzAAAAQ — the case to comment on |
| Comment | text | Required | Called the customer back — replacement part ordered, due Friday |
| Make Visible to the Customer | boolean | ||
| Additional Fields | object | {"Custom_Field__c":"value"} — extra CaseComment fields |
Returns: id, result, tool_result, success, error
Salesforce: Close Case
crm/salesforce/case_close · Action
Close a Salesforce case and record why. Leave Status blank and Flomation uses whichever status your own org treats as closed, so the flow keeps working in an org that renamed it.
| Field | Type | Details | |
|---|---|---|---|
| Case ID | string | Required | 5005f00000XyzAAAAQ — the case to close |
| Closed Status | string | Leave blank to use your org's own closed status | |
| Reason for Closing | string | Instructions not clear, Equipment complexity — must match your org's Case Reason list | |
| Additional Fields | object | {"Resolution__c":"Replaced the toner cartridge"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Case Comment
crm/salesforce/case_comment_delete · Action
Remove a comment from a Salesforce case — for a note posted in error, or one published to the customer portal by mistake. Give it the comment's ID, not the case's.
| Field | Type | Details | |
|---|---|---|---|
| Comment ID | string | Required | 00a5f00000XyzAAAAQ — the comment, not the case |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Case Comments
crm/salesforce/case_comment_get_all · Action
Read the comments on a Salesforce case, newest first. Set Limit to 1 to grab just the latest reply — the usual way to push an agent's update into Slack or Teams.
| Field | Type | Details | |
|---|---|---|---|
| Case ID | string | Required | 5005f00000XyzAAAAQ — the case whose comments you want |
| Fields | string | Leave blank for the usual comment columns, or list them: CommentBody,CreatedDate | |
| Only Comments the Customer Can See | boolean | ||
| Sort By | string | CreatedDate DESC — newest first (the default) | |
| Return All (fetch every comment) | boolean | ||
| Limit | integer | 50 by default, up to 2000 (ignored when Return All is on) |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Create Case
crm/salesforce/case_create · Action
Raise a support case in Salesforce from an email, phone call or web form, and link it to the customer's account or contact. Every field is optional — Salesforce accepts a case with nothing but a subject.
| Field | Type | Details | |
|---|---|---|---|
| Subject | string | Printer not working after the office move | |
| Description | text | The full detail of the problem, in the customer's own words | |
| Status | string | New, Working or Escalated (must match a status in your org) | |
| Priority | string | High, Medium or Low | |
| Case Type | string | Problem, Question or Feature Request | |
| How It Came In | string | Phone, Email or Web | |
| Reason | string | Instructions not clear, Equipment complexity… | |
| Account | string | The customer's account ID, e.g. 0015f00000XyzAAAAQ | |
| Contact | string | The person who reported it, e.g. 0035f00000XyzAAAAQ | |
| Assign To | string | Salesforce user ID (005…) or support queue ID (00G…) | |
| Parent Case | string | Group this under an existing case, e.g. 5005f00000XyzAAAAQ | |
| Record Type | string | Only if your org uses record types, e.g. 0125f000000XyzAAA | |
| Escalated | boolean | ||
| Reported By (Name) | string | Jane Smith — for someone not yet in Salesforce | |
| Reported By (Email) | string | jane.smith@acme.com | |
| Reported By (Phone) | string | +44 20 7946 0958 | |
| Reported By (Company) | string | Acme Ltd | |
| Additional Fields | object | {"Custom_Field__c":"value","SLA_Tier__c":"Gold"} | |
| Fetch the Saved Case (adds the Case Number) | boolean |
Returns: id, result, tool_result, success, error
Salesforce: Delete Case
crm/salesforce/case_delete · Action
Send a Salesforce case to the Recycle Bin. It is recoverable there for 15 days, so this is not permanent — but the case disappears from list views and reports straight away.
| Field | Type | Details | |
|---|---|---|---|
| Case ID | string | Required | 5005f00000XyzAAAAQ — the case to delete |
Returns: id, result, tool_result, success, error
Salesforce: Describe Case Object
crm/salesforce/case_describe · Action
Check what your Salesforce connection is allowed to do with cases, and list the cases this user has viewed recently. Optionally list the Status, Priority, Type, Origin and Reason values your org actually accepts.
| Field | Type | Details | |
|---|---|---|---|
| List the Status, Priority, Type, Origin and Reason Values | boolean |
Returns: id, result, tool_result, success, error
Salesforce: Get Case
crm/salesforce/case_get · Action
Look up a single Salesforce case by its record ID and return its details. Leave Fields blank to get everything the connected user can see.
| Field | Type | Details | |
|---|---|---|---|
| Case ID | string | Required | 5005f00000XyzAAAAQ — the case record ID |
| Fields | string | Leave blank for every field, or list them: CaseNumber,Subject,Status,Priority |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Cases
crm/salesforce/case_get_all · Action
List Salesforce cases, optionally filtered — open cases, cases for one account, cases raised this week. Enable Return All to fetch every match rather than a single page.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | Leave blank for the usual case columns, or list them: CaseNumber,Subject,Status | |
| Filter On | string | Status — the field to filter by | |
| Comparison | string | Defaults to Equals — choices: Equals, Does not equal, Less than, Less than or equal to, Greater than, Greater than or equal to, Contains (use % as the wildcard), Does not contain (use % as the wildcard), Is one of (comma-separated), Is not one of (comma-separated) | |
| Value | string | New — or a date shortcut such as TODAY or LAST_N_DAYS:7 | |
| More Filters | object | [{"field":"Priority","operator":"=","value":"High"},{"field":"IsClosed","operator":"=","value":"false"}] | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | CreatedDate DESC — newest first | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 by default, up to 2000 (ignored when Return All is on) | |
| Include Deleted Cases | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Case
crm/salesforce/case_update · Action
Change an existing Salesforce case — reassign it, raise its priority, escalate it or move it to the next status. Fields you leave blank are left exactly as they are.
| Field | Type | Details | |
|---|---|---|---|
| Case ID | string | Required | 5005f00000XyzAAAAQ — the case to change |
| Subject | string | Leave blank to keep the current subject | |
| Description | text | Leave blank to keep the current description | |
| Status | string | Working, Escalated or Closed (must match a status in your org) | |
| Priority | string | High, Medium or Low | |
| Case Type | string | Problem, Question or Feature Request | |
| How It Came In | string | Phone, Email or Web | |
| Reason | string | Instructions not clear, Equipment complexity… | |
| Account | string | Move the case to another account, e.g. 0015f00000XyzAAAAQ | |
| Contact | string | 0035f00000XyzAAAAQ | |
| Reassign To | string | Salesforce user ID (005…) or support queue ID (00G…) | |
| Parent Case | string | Group this under an existing case, e.g. 5005f00000XyzAAAAQ | |
| Record Type | string | Only if your org uses record types, e.g. 0125f000000XyzAAA | |
| Escalated | boolean | ||
| Reported By (Name) | string | Jane Smith | |
| Reported By (Email) | string | jane.smith@acme.com | |
| Reported By (Phone) | string | +44 20 7946 0958 | |
| Reported By (Company) | string | Acme Ltd | |
| Additional Fields | object | {"SLA_Tier__c":"Gold"} — or {"Description":null} to clear a field |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Case
crm/salesforce/case_upsert · Action
Create a Salesforce case, or update the existing one with the same reference. Use it to sync tickets from another system without ever creating a duplicate, however many times the flow re-runs.
| Field | Type | Details | |
|---|---|---|---|
| Match On Field | string | Required | Zendesk_Ticket__c — must be marked External ID in Salesforce |
| Match On Value | string | Required | The reference from the other system, e.g. ZD-10482 |
| Subject | string | Printer not working after the office move | |
| Description | text | The full detail of the problem, in the customer's own words | |
| Status | string | New, Working or Escalated (must match a status in your org) | |
| Priority | string | High, Medium or Low | |
| Case Type | string | Problem, Question or Feature Request — must match your org's Case Type list | |
| How It Came In | string | Phone, Email or Web | |
| Reason | string | Instructions not clear, Equipment complexity — must match your org's Case Reason list | |
| Account | string | The customer's account ID, e.g. 0015f00000XyzAAAAQ | |
| Contact | string | The person who reported it, e.g. 0035f00000XyzAAAAQ | |
| Assign To | string | Salesforce user ID (005…) or support queue ID (00G…) | |
| Parent Case | string | Group this under an existing case, e.g. 5005f00000XyzAAAAQ | |
| Record Type | string | Only if your org uses record types, e.g. 0125f000000XyzAAA | |
| Escalated | boolean | ||
| Reported By (Name) | string | Jane Smith — for someone not yet in Salesforce | |
| Reported By (Email) | string | jane.smith@acme.com | |
| Reported By (Phone) | string | +44 20 7946 0958 | |
| Reported By (Company) | string | Acme Ltd | |
| Additional Fields | object | {"Custom_Field__c":"value","SLA_Tier__c":"Gold"} |
Returns: id, result, tool_result, success, error
09Contact
Salesforce: Add Note to Contact (Classic)
crm/salesforce/contact_add_note · Action
Attach a note to a contact using Salesforce's Classic Notes. If your org uses Lightning Enhanced Notes, notes added this way appear under Notes & Attachments rather than the Notes panel.
| Field | Type | Details | |
|---|---|---|---|
| Contact ID | string | Required | 0035f00000XyzAbAAJ — from the contact's Salesforce URL |
| Note Title | string | Required | Call summary — 25 July |
| Note | text | What was discussed (up to 32,000 characters) | |
| Private (only the owner can see it) | boolean | ||
| Note Owner | string | Salesforce user ID, e.g. 0055f000004XyzAAB — defaults to the connected user | |
| Additional Fields | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Add Contact to Campaign
crm/salesforce/contact_add_to_campaign · Action
Sign a contact up to a Salesforce campaign with a member status such as Sent, Registered or Responded. Optionally update their status if they are already on the list.
| Field | Type | Details | |
|---|---|---|---|
| Contact ID | string | Required | 0035f00000XyzAbAAJ — from the contact's Salesforce URL |
| Campaign ID | string | Required | 7015f000000XyzAAA — from the campaign's Salesforce URL |
| Member Status | string | Sent, Responded, Registered… (must match this campaign's statuses) | |
| Update Their Status if Already a Member | boolean | ||
| Additional Fields | object | {"HasResponded":true,"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Create Contact
crm/salesforce/contact_create · Action
Add a new contact to Salesforce. Last Name is the only field Salesforce insists on; link the contact to a company with Account, and use Additional Fields for anything custom to your org.
| Field | Type | Details | |
|---|---|---|---|
| Last Name | string | Required | Smith |
| First Name | string | Jane | |
| Middle Name | string | Alexandra (only if your org has middle names switched on) | |
| Suffix | string | Jr, PhD (only if your org has suffixes switched on) | |
| Salutation | string | Mr, Mrs, Ms or Dr | |
| Account | string | The company this person works for, e.g. 0015f00000XyzAbAAJ | |
| Job Title | string | Head of Operations | |
| Department | string | Finance | |
| Email Address | string | jane.smith@acme.com | |
| Phone Number | string | +44 20 7946 0958 | |
| Mobile Number | string | +44 7700 900123 | |
| Home Phone | string | +44 20 7946 0100 | |
| Other Phone | string | +44 20 7946 0200 | |
| Fax Number | string | +44 20 7946 0999 | |
| Mailing Street | string | 12 High Street | |
| Mailing Town or City | string | London | |
| Mailing County or State | string | California — must match your org's State list, if it uses one | |
| Mailing Postcode | string | SW1A 1AA | |
| Mailing Country | string | United Kingdom | |
| Other Street | string | Second address, e.g. 4 Mill Lane | |
| Other Town or City | string | Manchester | |
| Other County or State | string | California — must match your org's State list, if it uses one | |
| Other Postcode | string | M1 2AB | |
| Other Country | string | United Kingdom | |
| Lead Source | string | Web, Phone Enquiry, Partner Referral… | |
| Description | text | Background on this person | |
| Assistant Name | string | Chris Taylor | |
| Assistant Phone | string | +44 20 7946 0300 | |
| Date of Birth | datetime | ||
| Email Bounced Date | datetime | ||
| Email Bounced Reason | string | Mailbox full | |
| Opted Out of Email | boolean | ||
| Pronouns | string | She/Her (only if your org has Pronouns switched on) | |
| Gender Identity | string | Only if your org has Gender Identity switched on | |
| Data.com Key | string | Data.com (Jigsaw) record key, if your org uses it | |
| Assign To | string | Salesforce user ID, e.g. 0055f000004XyzAAB | |
| Record Type | string | Record type ID, e.g. 0125f000000XyzAAA | |
| Additional Fields | object | {"Custom_Field__c":"value","Region__c":"South"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Contact
crm/salesforce/contact_delete · Action
Send a contact to the Salesforce Recycle Bin, where an administrator can restore it for the next 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Contact ID | string | Required | 0035f00000XyzAbAAJ — from the contact's Salesforce URL |
Returns: id, result, tool_result, success, error
Salesforce: Get Contact Metadata
crm/salesforce/contact_describe · Action
Fetch details about the Contact object in your org — what it is called, what the connected user may do with it, and the contacts they viewed recently. Useful as a quick connection check.
| Field | Type | Details | |
|---|---|---|---|
| Include Every Field and Picklist | boolean |
Returns: id, result, tool_result, success, error
Salesforce: Get Contact
crm/salesforce/contact_get · Action
Fetch a single contact by its Salesforce record ID, with every field the connected user can see. Narrow it to specific fields if you only need a few.
| Field | Type | Details | |
|---|---|---|---|
| Contact ID | string | Required | 0035f00000XyzAbAAJ — from the contact's Salesforce URL |
| Fields | string | FirstName, LastName, Email — leave blank for every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Contacts
crm/salesforce/contact_get_all · Action
List contacts, optionally filtered and sorted. Turn on Return All to fetch every match, or set a limit for a single page. No query writing needed.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | FirstName, LastName, Email, Phone — blank for the usual few | |
| Filter Field | string | Email, AccountId, LastModifiedDate… | |
| Filter Comparison | string | Equals — choices: Equals, Does not equal, Less than, Less than or equal to, Greater than, Greater than or equal to, Matches (use % as a wildcard), Does not match (use % as a wildcard), Is one of (comma-separated), Is not one of (comma-separated) | |
| Filter Value | string | jane.smith@acme.com — or TODAY, LAST_N_DAYS:7 for dates | |
| More Filters | object | [{"field":"Department","operator":"=","value":"Finance"}] | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | LastModifiedDate DESC, LastName ASC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted and Archived | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Contact
crm/salesforce/contact_update · Action
Change one or more fields on an existing contact. Anything you leave blank is left exactly as it is in Salesforce, so you can update a single phone number without touching the rest.
| Field | Type | Details | |
|---|---|---|---|
| Contact ID | string | Required | 0035f00000XyzAbAAJ — from the contact's Salesforce URL |
| Last Name | string | Smith | |
| First Name | string | Jane | |
| Middle Name | string | Alexandra (only if your org has middle names switched on) | |
| Suffix | string | Jr, PhD (only if your org has suffixes switched on) | |
| Salutation | string | Mr, Mrs, Ms or Dr | |
| Account | string | The company this person works for, e.g. 0015f00000XyzAbAAJ | |
| Job Title | string | Head of Operations | |
| Department | string | Finance | |
| Email Address | string | jane.smith@acme.com | |
| Phone Number | string | +44 20 7946 0958 | |
| Mobile Number | string | +44 7700 900123 | |
| Home Phone | string | +44 20 7946 0100 | |
| Other Phone | string | +44 20 7946 0200 | |
| Fax Number | string | +44 20 7946 0999 | |
| Mailing Street | string | 12 High Street | |
| Mailing Town or City | string | London | |
| Mailing County or State | string | California — must match your org's State list, if it uses one | |
| Mailing Postcode | string | SW1A 1AA | |
| Mailing Country | string | United Kingdom | |
| Other Street | string | Second address, e.g. 4 Mill Lane | |
| Other Town or City | string | Manchester | |
| Other County or State | string | California — must match your org's State list, if it uses one | |
| Other Postcode | string | M1 2AB | |
| Other Country | string | United Kingdom | |
| Lead Source | string | Web, Phone Enquiry, Partner Referral… | |
| Description | text | Background on this person | |
| Assistant Name | string | Chris Taylor | |
| Assistant Phone | string | +44 20 7946 0300 | |
| Date of Birth | datetime | ||
| Email Bounced Date | datetime | ||
| Email Bounced Reason | string | Mailbox full | |
| Opted Out of Email | boolean | ||
| Pronouns | string | She/Her (only if your org has Pronouns switched on) | |
| Gender Identity | string | Only if your org has Gender Identity switched on | |
| Data.com Key | string | Data.com (Jigsaw) record key, if your org uses it | |
| Assign To | string | Salesforce user ID, e.g. 0055f000004XyzAAB | |
| Record Type | string | Record type ID, e.g. 0125f000000XyzAAA | |
| Additional Fields | object | {"Custom_Field__c":"value","Region__c":"South"} |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Contact
crm/salesforce/contact_upsert · Action
Create a contact, or update the one that already matches. Salesforce matches on a field you choose — usually Email — so re-running a flow updates the same person instead of adding a duplicate.
| Field | Type | Details | |
|---|---|---|---|
| Match On | string | Required | Email — or another External ID field on Contact |
| Match Value | string | Required | jane.smith@acme.com — the value to look for |
| Last Name | string | Smith — needed only if this creates a new contact | |
| First Name | string | Jane | |
| Middle Name | string | Alexandra (only if your org has middle names switched on) | |
| Suffix | string | Jr, PhD (only if your org has suffixes switched on) | |
| Salutation | string | Mr., Mrs., Ms. or Dr. — must match your org's Salutation list | |
| Account | string | The company this person works for, e.g. 0015f00000XyzAbAAJ | |
| Job Title | string | Head of Operations | |
| Department | string | Finance | |
| Email Address | string | jane.smith@acme.com | |
| Phone Number | string | +44 20 7946 0958 | |
| Mobile Number | string | +44 7700 900123 | |
| Home Phone | string | +44 20 7946 0100 | |
| Other Phone | string | +44 20 7946 0200 | |
| Fax Number | string | +44 20 7946 0999 | |
| Mailing Street | string | 12 High Street | |
| Mailing Town or City | string | London | |
| Mailing County or State | string | California — must match your org's State list, if it uses one | |
| Mailing Postcode | string | SW1A 1AA | |
| Mailing Country | string | United Kingdom | |
| Other Street | string | Second address, e.g. 4 Mill Lane | |
| Other Town or City | string | Manchester | |
| Other County or State | string | California — must match your org's State list, if it uses one | |
| Other Postcode | string | M1 2AB | |
| Other Country | string | United Kingdom | |
| Lead Source | string | Web, Trade Show, Advertisement — must match your org's Lead Source list | |
| Description | text | Background on this person | |
| Assistant Name | string | Chris Taylor | |
| Assistant Phone | string | +44 20 7946 0300 | |
| Date of Birth | datetime | ||
| Email Bounced Date | datetime | ||
| Email Bounced Reason | string | Mailbox full | |
| Opted Out of Email | boolean | ||
| Pronouns | string | She/Her (only if your org has Pronouns switched on) | |
| Gender Identity | string | Only if your org has Gender Identity switched on | |
| Data.com Key | string | Data.com (Jigsaw) record key, if your org uses it | |
| Assign To | string | Salesforce user ID, e.g. 0055f000004XyzAAB | |
| Record Type | string | Record type ID, e.g. 0125f000000XyzAAA | |
| Additional Fields | object | {"Custom_Field__c":"value","Region__c":"South"} |
Returns: id, result, tool_result, success, error
10Contract
Salesforce: Activate Contract
crm/salesforce/contract_activate · Action
Mark a signed contract as Activated so it counts as live. Salesforce stamps who activated it and when. Activating is one-way, so this is the step to run once the signature is actually in.
| Field | Type | Details | |
|---|---|---|---|
| Contract ID | string | Required | 8005f000001AbCdAAK - the contract to activate, not its contract number |
| Status To Set (leave blank to activate - only change this if your org renamed its live status) | string | Leave blank to use Activated - Draft and In Approval Process do NOT activate a contract |
Returns: id, result, tool_result, success, error
Salesforce: Create Contract
crm/salesforce/contract_create · Action
Set up a contract against a customer's account - when it starts, how many months it runs for and who signed it. Salesforce gives it its own contract number and works the end date out from the term, so this is the record to hang the signed PDF off. New contracts always start as a draft; add an Activate Contract step to make one live.
| Field | Type | Details | |
|---|---|---|---|
| Customer (Account) | string | Required | 0015f00000AbCdEAAV - the account this contract is with; Salesforce will not create a contract without one |
| Status | string | Leave blank - a new contract always starts as Draft. Move it on afterwards with Update Contract, or make it live with Activate Contract | |
| Start Date | datetime | 2026-08-01 (the date only) - the end date is worked out from this plus the term | |
| Contract Term (Months) | integer | 12 - the length of the contract in MONTHS, not days or years | |
| Owner | string | 0055f00000AbCdEAAV - leave blank and the connected Salesforce user owns it | |
| Remind The Owner (Days Before The End) | string | 60 - Salesforce only accepts 15, 30, 45, 60, 90 or 120; anything else is refused | |
| Price Book | string | 01s5f000004AbCdAAK - the price list to use for products on this contract | |
| Signed By (Your Side) | string | 0055f00000AbCdEAAV - the Salesforce user who signed for your company | |
| Date You Signed | datetime | 2026-07-24 (the date only) | |
| Signed By (Customer Contact) | string | 0035f00000XyZabAAF - the contact who signed for the customer | |
| Customer Signatory's Job Title | string | Operations Director | |
| Date The Customer Signed | datetime | 2026-07-25 (the date only) | |
| Special Terms | text | Anything agreed that differs from your standard terms | |
| Description | text | Background on the contract, visible to everyone on the account | |
| Billing Street | text | 1 Deansgate | |
| Billing City | string | Manchester | |
| Billing County / State | string | Leave this blank unless your org's State list has an entry for it - most orgs check it against a fixed list and refuse anything typed by hand | |
| Billing Postcode | string | M1 1AA | |
| Billing Country | string | United Kingdom | |
| Record Type | string | 0125f000000AbCdAAK - only if your org uses record types on contracts | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the contract |
Returns: id, result, tool_result, success, error
Salesforce: Delete Contract
crm/salesforce/contract_delete · Action
Send a contract to the Salesforce Recycle Bin, where an administrator can restore it for 15 days. Activated contracts can be deleted too, so use this carefully on anything live.
| Field | Type | Details | |
|---|---|---|---|
| Contract ID | string | Required | 8005f000001AbCdAAK - the contract to delete, not its contract number |
Returns: id, result, tool_result, success, error
Salesforce: Get Contract
crm/salesforce/contract_get · Action
Look up one contract by its Salesforce ID and return everything on it - its contract number, status, start date, term, the end date Salesforce works out for you, who signed it and every custom field.
| Field | Type | Details | |
|---|---|---|---|
| Contract ID | string | Required | 8005f000001AbCdAAK - the contract's Salesforce ID, not its contract number |
| Fields | string | ContractNumber,Status,StartDate,EndDate,ContractTerm - leave blank to return every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Contracts
crm/salesforce/contract_get_all · Action
List contracts from Salesforce - everything ending in the next 60 days, every contract on one account, everything still in Draft. Pair it with a schedule and an email step and you have a renewals reminder. Turn on Return All to fetch every match instead of one page.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | ContractNumber,Status,StartDate,EndDate - leave blank for the usual contract fields | |
| Ends On Or After | string | TODAY - or a date like 2026-08-01; always applies, even with Match ANY on | |
| Ends On Or Before | string | NEXT_N_DAYS:60 - the renewals window; always applies, even with Match ANY on | |
| Status | string | Activated, Draft or In Approval Process | |
| Customer (Account) | string | 0015f00000AbCdEAAV - only contracts with this account | |
| Owner | string | 0055f00000AbCdEAAV - only contracts owned by this Salesforce user | |
| Filter Field | string | One more field to filter on, e.g. ContractTerm or Renewal_Owner__c | |
| Filter Comparison | string | How to compare the field (defaults to Equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (comma-separated), Is Not One Of (comma-separated) | |
| Filter Value | string | What to compare against, e.g. 12, THIS_YEAR, 2026-09-01 | |
| More Filters | object | [{"field":"ContractTerm","operator":">=","value":"12"},{"field":"Status","operator":"=","value":"Activated"}] | |
| Match ANY filter instead of all | boolean | Off: a contract has to match every filter. On: matching any one of them is enough. Ends On Or After / Before always apply either way | |
| Sort By | string | EndDate ASC - or ContractNumber DESC | |
| Limit | integer | 50 by default, up to 2000 - ignored when Return All is on | |
| Return All | boolean | Tick to keep fetching pages until every matching contract has been collected | |
| Include Deleted | boolean | Tick to include contracts sitting in the Salesforce Recycle Bin |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Contract
crm/salesforce/contract_update · Action
Change a contract in Salesforce - push the start date, extend the term, record the signatures, hand it to a new owner. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Contract ID | string | Required | 8005f000001AbCdAAK - the contract to change, not its contract number |
| Status | string | Draft, In Approval Process or Activated - note that Activated cannot be undone | |
| Start Date | datetime | 2026-08-01 (the date only) - the end date is worked out from this plus the term | |
| Contract Term (Months) | integer | 24 - the length of the contract in MONTHS, not days or years | |
| Customer (Account) | string | 0015f00000AbCdEAAV - the account this contract is with | |
| Owner | string | 0055f00000AbCdEAAV - the Salesforce user who should own the contract | |
| Remind The Owner (Days Before The End) | string | 60 - Salesforce only accepts 15, 30, 45, 60, 90 or 120; anything else is refused | |
| Price Book | string | 01s5f000004AbCdAAK - the price list to use for products on this contract | |
| Signed By (Your Side) | string | 0055f00000AbCdEAAV - the Salesforce user who signed for your company | |
| Date You Signed | datetime | 2026-07-24 (the date only) | |
| Signed By (Customer Contact) | string | 0035f00000XyZabAAF - the contact who signed for the customer | |
| Customer Signatory's Job Title | string | Operations Director | |
| Date The Customer Signed | datetime | 2026-07-25 (the date only) | |
| Special Terms | text | Anything agreed that differs from your standard terms | |
| Description | text | Background on the contract, visible to everyone on the account | |
| Billing Street | text | 1 Deansgate | |
| Billing City | string | Manchester | |
| Billing County / State | string | Leave this blank unless your org's State list has an entry for it - most orgs check it against a fixed list and refuse anything typed by hand | |
| Billing Postcode | string | M1 1AA | |
| Billing Country | string | United Kingdom | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the contract |
Returns: id, result, tool_result, success, error
11Custom
Salesforce: Create Custom Object Record
crm/salesforce/custom_object_create · Action
Add a record to one of your organisation's own Salesforce objects — an Invoice, a Booking, a Property, whatever your administrator has built. Fill in the standard Name, Owner and Record Type, and supply the object's own fields as JSON.
| Field | Type | Details | |
|---|---|---|---|
| Custom Object | string | Required | Invoice__c — the object's API name, which almost always ends in __c |
| Record Name | string | INV-1042 — leave blank if this object numbers its records automatically | |
| Owner | string | 005... — the Salesforce user who should own the record (defaults to the connected user) | |
| Record Type | string | 012... — only needed when this object uses record types | |
| Fields (JSON) | object | {"Amount__c":250,"Due_Date__c":"2026-08-01","Status__c":"Draft"} — keyed by Salesforce field API name |
Returns: id, result, tool_result, success, error
Salesforce: Delete Custom Object Record
crm/salesforce/custom_object_delete · Action
Send a record of one of your organisation's own Salesforce objects to the Recycle Bin. It stays recoverable there for 15 days, so this is not immediately permanent.
| Field | Type | Details | |
|---|---|---|---|
| Custom Object | string | Required | Invoice__c — the object's API name, which almost always ends in __c |
| Record ID | string | Required | a015f00000ABCdeAAF — 15 or 18 characters, from the record's web address |
Returns: id, result, tool_result, success, error
Salesforce: Get Custom Object Record
crm/salesforce/custom_object_get · Action
Read a single record from one of your organisation's own Salesforce objects using its record ID. Returns every field the connected Salesforce user can see, or just the ones you name.
| Field | Type | Details | |
|---|---|---|---|
| Custom Object | string | Required | Invoice__c — the object's API name, which almost always ends in __c |
| Record ID | string | Required | a015f00000ABCdeAAF — 15 or 18 characters, from the record's web address |
| Fields | string | Comma-separated fields to return, e.g. Name,Amount__c,Status__c (leave blank for all of them) |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Custom Object Records
crm/salesforce/custom_object_get_all · Action
List records from one of your organisation's own Salesforce objects, narrowed by a filter and sorted however you like. Turn on Return All to page through every match.
| Field | Type | Details | |
|---|---|---|---|
| Custom Object | string | Required | Invoice__c — the object's API name, which almost always ends in __c |
| Fields | string | Comma-separated fields to return, e.g. Name,Amount__c,Status__c (blank returns Id, Name and Last Modified) | |
| Filter Field | string | Status__c — leave blank to return everything | |
| Filter Comparison | string | Equals — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is Any Of (IN), Is None Of (NOT IN) | |
| Filter Value | string | Open — dates also accept TODAY, THIS_MONTH or LAST_N_DAYS:7; Is Any Of takes a comma-separated list | |
| More Filters | object | [{"field":"Amount__c","operator":">","value":"10000"}] — extra conditions on top of the one above | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | CreatedDate DESC — a field name, optionally with ASC or DESC | |
| Return All (page through every match) | boolean | ||
| Limit | integer | 50 records (max 2000); ignored when Return All is on | |
| Include Records In The Recycle Bin | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Custom Object Record
crm/salesforce/custom_object_update · Action
Change fields on an existing record of one of your organisation's own Salesforce objects. Only the fields you fill in are sent, so everything else on the record is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Custom Object | string | Required | Invoice__c — the object's API name, which almost always ends in __c |
| Record ID | string | Required | a015f00000ABCdeAAF — 15 or 18 characters, from the record's web address |
| Record Name | string | INV-1042 — leave blank to keep the current name | |
| Owner | string | 005... — the Salesforce user to hand the record to (leave blank to keep the current owner) | |
| Record Type | string | 012... — only needed when moving the record to a different record type | |
| Fields (JSON) | object | {"Status__c":"Paid","Paid_On__c":"2026-08-01"} — keyed by Salesforce field API name |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Custom Object Record
crm/salesforce/custom_object_upsert · Action
Find a record on one of your organisation's own Salesforce objects by an External ID field and update it, or create it if nothing matches. This is how you keep Salesforce in step with another system without ever creating duplicates.
| Field | Type | Details | |
|---|---|---|---|
| Custom Object | string | Required | Invoice__c — the object's API name, which almost always ends in __c |
| Match On Field | string | Required | Invoice_Number__c — must be ticked as an External ID on the field in Salesforce Setup |
| Match On Value | string | Required | INV-1042 — the value to look for in that field |
| Record Name | string | INV-1042 — leave blank if this object numbers its records automatically | |
| Owner | string | 005... — the Salesforce user who should own the record | |
| Record Type | string | 012... — only needed when this object uses record types | |
| Fields (JSON) | object | {"Amount__c":250,"Status__c":"Sent"} — keyed by Salesforce field API name |
Returns: id, result, tool_result, success, error
12Email
Salesforce: Log Email
crm/salesforce/email_message_create · Action
Record an email sent or received against a Case or another Salesforce record, so the whole thread is visible on the record.
| Field | Type | Details | |
|---|---|---|---|
| Case | string | 5005f00000AbcDEAA — the Case this email belongs to | |
| Related To Object | string | Opportunity — narrows the Related To Record picker | |
| Related To Record | string | 0065f00000AbcDEAA — an Account, Opportunity or other record the email is about | |
| Subject | string | Re: Your order #1042 | |
| Message | text | The plain text of the email | |
| Message (HTML) | text | <p>The HTML version of the email</p> | |
| From Address | string | jane@acme.com | |
| From Name | string | Jane Bloggs | |
| To Address | string | support@mycompany.com; sales@mycompany.com | |
| CC Address | string | manager@mycompany.com | |
| BCC Address | string | archive@mycompany.com | |
| This Email Came In (rather than went out) | boolean | ||
| Status | string | Defaults to New for incoming email and Sent for outgoing — choices: New, Read, Replied, Sent, Forwarded, Draft | |
| Date Sent or Received | datetime | Defaults to now if left empty | |
| Visible to Customers in the Portal | boolean | ||
| Additional Fields | object | {"Headers":"...","ThreadIdentifier":"ref:_00D..."} — any other EmailMessage field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Emails
crm/salesforce/email_message_get_all · Action
Read the emails logged against a Case or another Salesforce record, newest first. Enable Return All to fetch every message in the thread.
| Field | Type | Details | |
|---|---|---|---|
| Case | string | 5005f00000AbcDEAA — read the email thread on this Case | |
| Related To Record | string | 0065f00000AbcDEAA — read emails linked to this Account, Opportunity or other record | |
| Direction | string | All emails unless you narrow it — choices: Any, Received Only, Sent Only | |
| Fields | string | Comma-separated fields to return (optional) | |
| More Filters | object | [{"field":"FromAddress","operator":"=","value":"jane@acme.com"}] | |
| Sort By | string | MessageDate DESC (the default) — or Subject ASC | |
| Return All (fetch every matching email) | boolean | ||
| Limit | integer | 50 by default, up to 2000; ignored when Return All is on | |
| Include Deleted and Archived Emails | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Send Email
crm/salesforce/email_send · Action
Send an email through Salesforce, optionally from an email template and logged against a record so it shows in the timeline.
| Field | Type | Details | |
|---|---|---|---|
| Send To | string | jane@acme.com, accounts@acme.com | |
| Subject | string | Your order is on its way | |
| Message | text | Hi Jane, thanks for getting in touch... | |
| Message (HTML) | text | <p>Hi Jane,</p> — use this instead of Message, not as well as | |
| Email Template | string | 00X5f000000AbcDEA2 — a template written by your Salesforce admin | |
| Recipient Record | string | 0035f00000AbcDEAA — the Contact, Lead or User being emailed | |
| Related Record | string | 0065f00000AbcDEAA — the record the email is about, and where it is logged | |
| Send From | string | Who the email appears to come from — choices: The Connected User, The Default Workflow User, An Org-Wide Email Address | |
| Org-Wide Email Address | string | noreply@acme.com, or the address record ID — must be verified in Salesforce | |
| Log This Email on the Record | boolean | ||
| Keep Line Breaks in the Message | boolean | ||
| Additional Fields | object | {"emailAddressesArray":["jane@acme.com"]} — any other Send Email input, including CC and BCC |
Returns: id, result, tool_result, success, error
13Event
Salesforce: Create Event
crm/salesforce/event_create · Action
Put a meeting, site visit or call in the diary in Salesforce and link it to the person and the deal it is about — the step that turns an online booking into an appointment on the rep's calendar.
| Field | Type | Details | |
|---|---|---|---|
| Subject | string | Discovery call | |
| Starts | datetime | When the appointment starts | |
| Ends | datetime | When it finishes — or give a Length instead | |
| Length (minutes) | integer | 30 — used when there is no finish time | |
| All-Day Event | boolean | ||
| Event Date (all-day) | datetime | The day an all-day event falls on | |
| Location | string | Head office, Teams, or a customer address | |
| Description | text | Agenda, joining details, anything the attendee needs | |
| Whose Calendar | string | Salesforce user ID of the person the event belongs to | |
| Contact or Lead | string | Record ID of the person you are meeting, e.g. 0035f00000AbCdEAAV | |
| Related Record | string | Record ID of the account, opportunity or case this is about | |
| Show Time As | string | Busy, Free or OutOfOffice | |
| Private | boolean | ||
| Event Kind | string | Event — cannot be changed afterwards | |
| Record Type | string | Record type ID, if your org uses them for events | |
| Set a Reminder | boolean | ||
| Remind At | datetime | When Salesforce should nudge the owner | |
| Repeats | boolean | ||
| Repeats How Often | string | RecursDaily, RecursWeekly, RecursMonthly or RecursYearly | |
| Repeat Every | integer | 2 with RecursWeekly means every other week | |
| Repeat On Days | string | Monday, Wednesday, Friday | |
| Repeat On Day of Month | integer | 15 | |
| Repeat On Which Week | string | First, Second, Third, Fourth or Last | |
| Repeat In Month | string | Only used by a yearly repeat — choices: January, February, March, April, May, June, July, August, September, October, November, December | |
| Repeat From | datetime | First occurrence of the repeating series | |
| Repeat Until | datetime | Last day of the repeating series | |
| Time Zone | string | Europe/London | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Event
crm/salesforce/event_delete · Action
Take a single appointment out of the Salesforce diary. It goes to the Recycle Bin rather than disappearing, so it can still be restored for the next 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Event ID | string | Required | 00U5f00000AbCdEEAV |
Returns: id, result, tool_result, success, error
Salesforce: Cancel Event Series
crm/salesforce/event_delete_series · Action
Cancel a repeating Salesforce appointment from one occurrence onwards — the standing weekly check-in that stops when a customer leaves. Earlier occurrences stay in the calendar as a record of what happened.
| Field | Type | Details | |
|---|---|---|---|
| Cancel From This Event Onwards | string | Required | 00U5f00000AbCdEEAV — the first occurrence to cancel |
Returns: id, result, tool_result, success, error
Salesforce: Get Event
crm/salesforce/event_get · Action
Look up one calendar event in Salesforce by its record ID and return everything on it — when it is, where it is, who it is with.
| Field | Type | Details | |
|---|---|---|---|
| Event ID | string | Required | 00U5f00000AbCdEEAV |
| Fields | string | Subject, StartDateTime, Location — leave blank for every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Events
crm/salesforce/event_get_all · Action
See what is in the diary — every Salesforce event in a date range, on one person's calendar, or booked against a particular customer or deal.
| Field | Type | Details | |
|---|---|---|---|
| Fields To Return | string | Id, Subject, StartDateTime, Location — leave blank for the usual ones | |
| Starts On or After | datetime | Beginning of the period you want to see | |
| Starts On or Before | datetime | End of the period you want to see | |
| Whose Calendar | string | Salesforce user ID of the person the events belong to | |
| With Contact or Lead | string | Record ID of the person being met | |
| Related Record | string | Record ID of the account, opportunity or case | |
| Filter Field | string | Any other field to filter on, e.g. Location | |
| Filter Comparison | string | How to compare the field (defaults to Equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (comma-separated), Is Not One Of (comma-separated) | |
| Filter Value | string | Head office — for Contains use % as the wildcard (%head office%); or a date shortcut like THIS_WEEK | |
| More Filters | object | [{"field":"IsAllDayEvent","operator":"=","value":"false"}] | |
| Match ANY filter instead of all | boolean | On, matching any one of the filters is enough. The Starts On or After / Starts On or Before dates always apply | |
| Sort By | string | StartDateTime ASC | |
| Limit | integer | 50 (max 2000) — ignored when Return All is on | |
| Return All (fetch every match) | boolean | ||
| Include Cancelled and Archived Events | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Event
crm/salesforce/event_update · Action
Move, shorten or amend an appointment already in Salesforce — a reschedule, a change of room, a different attendee. Anything left blank stays as it is.
| Field | Type | Details | |
|---|---|---|---|
| Event ID | string | Required | 00U5f00000AbCdEEAV |
| Subject | string | Discovery call | |
| Starts | datetime | The new start time | |
| Ends | datetime | The new finish time | |
| Length (minutes) | integer | 30 — an alternative to a finish time | |
| All-Day Event | boolean | ||
| Event Date (all-day) | datetime | The day an all-day event falls on | |
| Location | string | Head office, Teams, or a customer address | |
| Description | text | Replaces whatever is on the event now | |
| Whose Calendar | string | Salesforce user ID to move the event to | |
| Contact or Lead | string | Record ID of the person being met | |
| Related Record | string | Record ID of the account, opportunity or case | |
| Show Time As | string | Busy, Free or OutOfOffice | |
| Private | boolean | ||
| Set a Reminder | boolean | ||
| Remind At | datetime | When Salesforce should nudge the owner | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
14File
Salesforce: Delete File
crm/salesforce/file_delete · Action
Delete a file from Salesforce Files, including every version of it and every record it was shared with. It goes to the Recycle Bin for 15 days.
| Field | Type | Details | |
|---|---|---|---|
| File | string | Required | File ID (069…) or version ID (068…) from an upload or files list |
Returns: id, result, tool_result, success, error
Salesforce: Download File
crm/salesforce/file_download · Action
Download a Salesforce file's contents so a later step can email it, save it to Drive or send it on. Accepts a file ID or a specific version ID.
| Field | Type | Details | |
|---|---|---|---|
| File | string | Required | File ID (069…) or version ID (068…) from an upload or files list |
| Save As | string | Leave blank to use the name the file has in Salesforce |
Returns: id, file, file_name, content_type, size, result, tool_result, success, error
Salesforce: Get Files On A Record
crm/salesforce/file_get_all_for_record · Action
List the files attached to any Salesforce record, with their names, sizes and IDs — ready to download or forward in a later step.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Account, Contact, Case… — only used to help you pick the record | |
| Record | string | Required | The record whose files you want, e.g. 0015f00000XyzAAB |
| Include Notes As Well As Files | boolean | ||
| Limit | integer | 50 (max 2000) |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Attach File To Record
crm/salesforce/file_link_to_record · Action
Share a file that is already in Salesforce onto another record, so it appears in that record's Files list too. The file itself is not duplicated.
| Field | Type | Details | |
|---|---|---|---|
| File | string | Required | File ID (069…) or version ID (068…) from an upload or files list |
| Record Type | string | Account, Contact, Case… — only used to help you pick the record | |
| Share With Record | string | Required | The record to attach the file to, e.g. 0015f00000XyzAAB |
| Permission | string | View Only is the safe default — choices: View Only, View and Edit, Inherit From The Record | |
| Who Can See It | string | All Users means everyone with access to the record, including community users — choices: All Users, Internal Users Only, Shared Users | |
| Additional Fields | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Upload File
crm/salesforce/file_upload · Action
Upload a file to Salesforce Files and optionally attach it to a record, so it shows up in the Files related list your team actually looks at.
| Field | Type | Details | |
|---|---|---|---|
| File Title | string | Required | Signed contract — Acme Ltd |
| File | string | Required | The file from an earlier step, or base64 content |
| File Name | string | contract.pdf — the extension sets the file type; blank uses the title | |
| Description | text | What this file is, for whoever finds it later | |
| File Owner | string | Salesforce user ID, e.g. 0055f000004XyzAAB — blank means you | |
| Attach To (record type) | string | Contact, Account, Opportunity… — only used to help you pick the record | |
| Attach To Record | string | Record ID the file belongs to, e.g. 0035f00000XyzAAB | |
| Additional Fields | object | {"Document_Type__c":"Contract"} |
Returns: id, content_document_id, result, tool_result, success, error
15Flow
Salesforce: Get Many Flows
crm/salesforce/flow_get_all · Action
List the Salesforce flows that can be run from an automation, with the exact name to use in Run Flow.
| Field | Type | Details | |
|---|---|---|---|
| Name Contains | string | welcome — leave blank to list every flow | |
| Limit | integer | Most flows to return — leave blank for all of them |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Run Flow
crm/salesforce/flow_invoke · Action
Run one of your Salesforce flows and pass it the values it asks for. Use this to trigger automation your Salesforce administrator has already built.
| Field | Type | Details | |
|---|---|---|---|
| Flow | string | Required | Send_Welcome_Email — the flow's API Name from Setup, Flows |
| Value to Send | string | recordId — the name of the value the flow asks for | |
| Value | string | 0035f00000AbCdEAAV | |
| All Values (JSON) | object | {"recordId":"0035f00000AbCdEAAV","SendEmail":true,"Discount":15} |
Returns: id, result, tool_result, success, error
16Lead
Salesforce: Add Note to Lead (Classic)
crm/salesforce/lead_add_note · Action
Attach a Classic note to a lead. Note: in orgs using the newer Lightning notes, a Classic note will not show in the Notes panel.
| Field | Type | Details | |
|---|---|---|---|
| Lead ID | string | Required | 00Q5f000004XyzAEAS |
| Note Title | string | Required | Call summary — 25 July |
| Note | text | What was discussed (up to 32,000 characters) | |
| Private (only the owner can see it) | boolean | ||
| Note Owner | string | Salesforce user ID, e.g. 0055f000004XyzAAB (defaults to the connected user) | |
| Additional Fields | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Add Lead to Campaign
crm/salesforce/lead_add_to_campaign · Action
Sign a lead up to a campaign — an event, a webinar, a mailshot — and set how they are taking part, such as Sent, Registered or Responded.
| Field | Type | Details | |
|---|---|---|---|
| Lead ID | string | Required | 00Q5f000004XyzAEAS — from the lead's Salesforce URL |
| Campaign ID | string | Required | 7015f000000XyzAAA — from the campaign's Salesforce URL |
| Member Status | string | Sent, Responded, Registered — must match this campaign's Member Status list | |
| Update Their Status if Already a Member | boolean | ||
| Additional Fields | object | {"HasResponded":true,"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Convert Lead
crm/salesforce/lead_convert · Action
Turn a qualified lead into an account, a contact and an opportunity in one step. This cannot be undone, so run it only once the lead is genuinely qualified.
| Field | Type | Details | |
|---|---|---|---|
| Lead ID | string | Required | 00Q5f000004XyzAEAS |
| Converted Status | string | Required | Closed - Converted |
| Attach to Existing Account | string | 0015f00000XyzAAA — leave blank to create a new account | |
| Attach to Existing Contact | string | 0035f00000XyzAAA — leave blank to create a new contact | |
| Opportunity Name | string | Acme Ltd — new enquiry (blank names it after the company) | |
| Do Not Create an Opportunity | boolean | ||
| Overwrite the Contact's Lead Source | boolean | ||
| Email the New Owner | boolean | ||
| Assign the New Records To | string | Salesforce user ID, e.g. 0055f000004XyzAAB (defaults to the lead's owner) |
Returns: id, result, tool_result, success, error
Salesforce: Create Lead
crm/salesforce/lead_create · Action
Add a new lead to Salesforce from a web form, phone enquiry or spreadsheet row. Company Name and Last Name are the only fields Salesforce insists on; everything else is optional.
| Field | Type | Details | |
|---|---|---|---|
| Company Name | string | Required | Acme Ltd |
| Last Name | string | Required | Smith |
| First Name | string | Jane | |
| Salutation | string | Mr, Mrs, Ms or Dr | |
| Job Title | string | Head of Operations | |
| Email Address | string | jane.smith@acme.com | |
| Phone Number | string | +44 20 7946 0958 | |
| Mobile Number | string | +44 7700 900123 | |
| Fax Number | string | +44 20 7946 0999 | |
| Website | string | https://www.acme.com | |
| Street | string | 12 High Street | |
| Town or City | string | London | |
| County or State | string | California — must match your org's State list, if it uses one | |
| Postcode | string | SW1A 1AA | |
| Country | string | United Kingdom | |
| Lead Status | string | Open - Not Contacted (must match a status in your org) | |
| Lead Source | string | Web, Phone Enquiry, Partner Referral… | |
| Industry | string | Technology | |
| Rating | string | Hot, Warm or Cold | |
| Annual Revenue | string | 250000 | |
| Number of Employees | integer | 50 | |
| Description | text | What the enquiry was about | |
| Data.com Key | string | Data.com (Jigsaw) record key, if your org uses it | |
| Assign To | string | Salesforce user or queue ID, e.g. 0055f000004XyzAAB | |
| Record Type | string | Record type ID, e.g. 0125f000000XyzAAA | |
| Opted Out of Email | boolean | ||
| Opted Out of Fax | boolean | ||
| Mark Unread for the Owner | boolean | ||
| Additional Fields | object | {"Custom_Field__c":"value","Region__c":"South"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Lead
crm/salesforce/lead_delete · Action
Delete a lead. It goes to your Salesforce Recycle Bin and can be restored there for 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Lead ID | string | Required | 00Q5f000004XyzAEAS |
Returns: id, result, tool_result, success, error
Salesforce: Describe Lead Object
crm/salesforce/lead_describe · Action
Check what your Salesforce connection is allowed to do with leads, and list the leads this user has viewed recently. Useful for confirming a connection works.
Returns: id, result, tool_result, success, error
Salesforce: Get Lead
crm/salesforce/lead_get · Action
Look up one lead by its Salesforce record ID and return everything the connected user is allowed to see.
| Field | Type | Details | |
|---|---|---|---|
| Lead ID | string | Required | 00Q5f000004XyzAEAS |
| Fields to Return | string | Leave blank for all fields, or e.g. Id,FirstName,LastName,Email |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Leads
crm/salesforce/lead_get_all · Action
List leads, optionally filtered and sorted. Turn on Return All to fetch every match, page by page, instead of just the first batch.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | FirstName, LastName, Email, Status — blank for the usual few | |
| Filter Field | string | Status, LeadSource, CreatedDate… | |
| Filter Comparison | string | Equals — choices: Equals, Does not equal, Less than, Less than or equal to, Greater than, Greater than or equal to, Matches (use % as a wildcard), Does not match (use % as a wildcard), Is one of (comma-separated), Is not one of (comma-separated) | |
| Filter Value | string | Open - Not Contacted — or TODAY, LAST_N_DAYS:7 for dates | |
| More Filters | object | [{"field":"AnnualRevenue","operator":">","value":"250000"}] | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | CreatedDate DESC, LastName ASC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted and Archived | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Lead
crm/salesforce/lead_update · Action
Change one or more fields on an existing lead. Anything you leave blank is left exactly as it is in Salesforce.
| Field | Type | Details | |
|---|---|---|---|
| Lead ID | string | Required | 00Q5f000004XyzAEAS |
| Company Name | string | Acme Ltd | |
| Last Name | string | Smith | |
| First Name | string | Jane | |
| Salutation | string | Mr, Mrs, Ms or Dr | |
| Job Title | string | Head of Operations | |
| Email Address | string | jane.smith@acme.com | |
| Phone Number | string | +44 20 7946 0958 | |
| Mobile Number | string | +44 7700 900123 | |
| Fax Number | string | +44 20 7946 0999 | |
| Website | string | https://www.acme.com | |
| Street | string | 12 High Street | |
| Town or City | string | London | |
| County or State | string | California — must match your org's State list, if it uses one | |
| Postcode | string | SW1A 1AA | |
| Country | string | United Kingdom | |
| Lead Status | string | Working - Contacted (must match a status in your org) | |
| Lead Source | string | Web, Phone Enquiry, Partner Referral… | |
| Industry | string | Technology | |
| Rating | string | Hot, Warm or Cold | |
| Annual Revenue | string | 250000 | |
| Number of Employees | integer | 50 | |
| Description | text | What the enquiry was about | |
| Data.com Key | string | Data.com (Jigsaw) record key, if your org uses it | |
| Reassign To | string | Salesforce user or queue ID, e.g. 0055f000004XyzAAB | |
| Record Type | string | Record type ID, e.g. 0125f000000XyzAAA | |
| Opted Out of Email | boolean | ||
| Opted Out of Fax | boolean | ||
| Mark Unread for the Owner | boolean | ||
| Additional Fields | object | {"Custom_Field__c":"value","Phone":null} |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Lead
crm/salesforce/lead_upsert · Action
Update the lead that matches an ID from your own system, or create it if there is no match. Safe to re-run — it never makes a duplicate.
| Field | Type | Details | |
|---|---|---|---|
| Match On Field | string | Required | Your_System_Id__c — must be an External ID field on Lead |
| Match Value | string | Required | The value to look for, e.g. CRM-10432 |
| Company Name | string | Acme Ltd | |
| Last Name | string | Smith | |
| First Name | string | Jane | |
| Salutation | string | Mr., Mrs., Ms. or Dr. — must match your org's Salutation list | |
| Job Title | string | Head of Operations | |
| Email Address | string | jane.smith@acme.com | |
| Phone Number | string | +44 20 7946 0958 | |
| Mobile Number | string | +44 7700 900123 | |
| Fax Number | string | +44 20 7946 0999 | |
| Website | string | https://www.acme.com | |
| Street | string | 12 High Street | |
| Town or City | string | London | |
| County or State | string | California — must match your org's State list, if it uses one | |
| Postcode | string | SW1A 1AA | |
| Country | string | United Kingdom | |
| Lead Status | string | Open - Not Contacted (must match a status in your org) | |
| Lead Source | string | Web, Trade Show, Employee Referral… — must match your org's Lead Source list | |
| Industry | string | Technology | |
| Rating | string | Hot, Warm or Cold | |
| Annual Revenue | string | 250000 | |
| Number of Employees | integer | 50 | |
| Description | text | What the enquiry was about | |
| Data.com Key | string | Data.com (Jigsaw) record key, if your org uses it | |
| Assign To | string | Salesforce user or queue ID, e.g. 0055f000004XyzAAB | |
| Record Type | string | Record type ID, e.g. 0125f000000XyzAAA | |
| Opted Out of Email | boolean | ||
| Opted Out of Fax | boolean | ||
| Mark Unread for the Owner | boolean | ||
| Additional Fields | object | {"Custom_Field__c":"value","Region__c":"South"} |
Returns: id, result, tool_result, success, error
17List
Salesforce: Get Many List Views
crm/salesforce/list_view_get_all · Action
List the saved views your Salesforce administrator has already built on a record type — 'My Open Opportunities', 'Hot Leads This Week'. Use the ID of the one you want with Run List View.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Required | Opportunity, Lead, Account, Invoice__c |
| Maximum Results | integer | 50 (max 2000) | |
| Skip First | integer | 0 — skip this many before returning results |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Run List View
crm/salesforce/list_view_run · Action
Run one of the saved views your Salesforce administrator has already built and get its records back. No query writing at all — and because it uses the org's own view, the results stay right when the admin changes the filters.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Required | Opportunity, Lead, Account, Invoice__c |
| List View | string | Required | 00B5f000004XyzAEAS — from Get Many List Views |
| Return Every Page | boolean | Keep fetching until every record in the view has been returned | |
| Maximum Results | integer | 50 per page (max 2000) | |
| Skip First | integer | 0 — skip this many before returning results |
Returns: results, count, total_size, next_url, result, tool_result, success, error
18Note
Salesforce: Create Note
crm/salesforce/note_create · Action
Log a note against any Salesforce record — a call summary, a handover note — so it appears in the Notes related list your team reads.
| Field | Type | Details | |
|---|---|---|---|
| Note Title | string | Required | Call with Jane Smith — 25 July |
| Note | text | What was said, agreed or needs doing next | |
| My Note Is Already HTML | boolean | ||
| Record Type | string | Contact, Account, Case… — only used to help you pick the record | |
| Attach To Record | string | Required | The record the note belongs to, e.g. 0035f00000XyzAAB |
| Permission | string | View Only is the safe default — choices: View Only, View and Edit, Inherit From The Record | |
| Who Can See It | string | All Users means everyone with access to the record, including community users — choices: All Users, Internal Users Only, Shared Users | |
| Additional Fields | object | {"OwnerId":"0055f000004XyzAAB"} |
Returns: id, link_id, result, tool_result, success, error
Salesforce: Get Notes On A Record
crm/salesforce/note_get_all_for_record · Action
Read the notes logged against a Salesforce record — call summaries and handover notes — with a preview of each, or the full text on request.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Contact, Account, Case… — only used to help you pick the record | |
| Record | string | Required | The record whose notes you want, e.g. 0035f00000XyzAAB |
| Fetch The Full Note Text (slower) | boolean | ||
| Limit | integer | 50 (max 2000) |
Returns: results, count, total_size, next_url, result, tool_result, success, error
19Object
Salesforce: Describe Object
crm/salesforce/object_describe · Action
Look up everything about a Salesforce object — its fields, which are required, the values a dropdown field accepts, its record types and its related lists. Works for any standard or custom object.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Dropdown Field | string | Status, StageName — optional, pulls out just that field's accepted values | |
| Record Type ID | string | 012... — optional, returns the page layout for that record type instead |
Returns: id, result, tool_result, success, error
Salesforce: List Objects
crm/salesforce/object_get_all · Action
List every object in your Salesforce org — the standard ones and your own custom ones — so a flow can work with whatever this org is actually set up for.
| Field | Type | Details | |
|---|---|---|---|
| Custom Objects Only | boolean | ||
| Only Objects You Can Add Records To | boolean | ||
| Search | string | invoice — matches the object's name or its label |
Returns: results, count, total_size, next_url, result, tool_result, success, error
20Opportunity
Salesforce: Add Note to Opportunity (Classic)
crm/salesforce/opportunity_add_note · Action
Attach a Classic note to a deal. Orgs on Lightning Enhanced Notes should use the Files and Notes actions instead - a Classic note does not appear in the Lightning Notes list.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal to attach the note to |
| Note Title | string | Required | Call summary - 25 July |
| Note | text | What was agreed on the call (up to 32 KB of plain text) | |
| Private (only the note owner can see it) | boolean | ||
| Note Owner | string | 0055f00000AbCdEAAV - defaults to the connected Salesforce user | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the Note object |
Returns: id, result, tool_result, success, error
Salesforce: Add Contact to Opportunity
crm/salesforce/opportunity_contact_role_create · Action
Link a contact to a deal and say what part they play in it - decision maker, influencer, technical buyer. This is how a deal stays reportable and how anyone knows who to ring.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal |
| Contact | string | Required | 0035f00000AbCdEAAV - the person involved in the deal |
| Role | string | Decision Maker, Influencer, Economic Buyer, Evaluator... | |
| Primary Contact On The Deal | boolean | ||
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the contact role |
Returns: id, result, tool_result, success, error
Salesforce: Remove Contact from Opportunity
crm/salesforce/opportunity_contact_role_delete · Action
Unlink a contact from a deal. The contact record itself is untouched - only their involvement in this deal is removed.
| Field | Type | Details | |
|---|---|---|---|
| Contact Role ID | string | Required | 00K5f00000AbCdEAAV - from Get Opportunity Contacts |
Returns: id, result, tool_result, success, error
Salesforce: Get Opportunity Contacts
crm/salesforce/opportunity_contact_role_get_all · Action
List everyone involved in a deal and the part each of them plays, so a flow can email the decision maker or check a deal actually has one.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal whose contacts you want |
| Fields | string | Role,Contact.Name,Contact.Email - leave blank for names, emails and roles | |
| Only The Primary Contact | boolean | ||
| Sort By | string | Role ASC - or IsPrimary DESC to put the primary contact first | |
| Return All (fetch every contact) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Opportunity Contact
crm/salesforce/opportunity_contact_role_update · Action
Change what part a contact plays in a deal, or make them the primary contact. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Contact Role ID | string | Required | 00K5f00000AbCdEAAV - from Get Opportunity Contacts |
| Role | string | Decision Maker, Influencer, Economic Buyer, Evaluator... | |
| Primary Contact On The Deal | boolean | ||
| Contact | string | 0035f00000AbCdEAAV - only if the wrong person was linked | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the contact role |
Returns: id, result, tool_result, success, error
Salesforce: Create Opportunity
crm/salesforce/opportunity_create · Action
Create a deal in Salesforce with its value, stage and expected close date. Use it when an enquiry turns into something worth quoting for.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity Name | string | Required | Acme Ltd - 50 seat renewal |
| Expected Close Date | datetime | Required | 2026-09-30 (the date only - Salesforce ignores the time) |
| Stage | string | Required | Prospecting - must match a stage in your Salesforce sales process |
| Company (Account) | string | 0015f00000AbCdEAAV - the Salesforce account this deal belongs to | |
| Amount | string | 12500.00 - the deal value in your org's currency | |
| Probability (%) | integer | 40 - leave blank to let Salesforce derive it from the stage | |
| Opportunity Type | string | New Business or Existing Business | |
| Lead Source | string | Web, Partner, Trade Show - must match your org's Lead Source list | |
| Next Step | string | Send the proposal by Friday | |
| Description | text | Background on the deal, visible to everyone on the account | |
| Campaign | string | 7015f000000AbCdAAK - the campaign that sourced this deal | |
| Price Book | string | 01s5f000004AbCdAAK - needed before you can add products to the deal | |
| Forecast Category | string | Pipeline, Best Case, Commit, Closed - normally derived from the stage | |
| Owner | string | 0055f00000AbCdEAAV - the salesperson who owns the deal | |
| Record Type | string | 0125f000000AbCdAAK - only if your org uses record types | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field |
Returns: id, result, tool_result, success, error
Salesforce: Delete Opportunity
crm/salesforce/opportunity_delete · Action
Send a deal to the Salesforce Recycle Bin, where an administrator can restore it for 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal to delete |
Returns: id, result, tool_result, success, error
Salesforce: Get Opportunity Metadata
crm/salesforce/opportunity_describe · Action
Return how the Opportunity object is set up in your Salesforce org, along with the deals the connected user looked at most recently.
Returns: id, result, tool_result, success, error
Salesforce: Get Opportunity
crm/salesforce/opportunity_get · Action
Look up one deal by its Salesforce ID and return everything on it - value, stage, close date, owner and every custom field.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal's Salesforce ID |
| Fields | string | Name,Amount,StageName - leave blank to return every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Opportunities
crm/salesforce/opportunity_get_all · Action
List deals from Salesforce, optionally filtered - everything closing this month, every deal on one account, everything still open. Turn on Return All to fetch every match.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | Name,Amount,StageName,CloseDate - leave blank for the usual pipeline fields | |
| Filter Field | string | StageName - the field to filter on | |
| Comparison | string | How to compare the field to the value (defaults to equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (IN), Is Not One Of (NOT IN) | |
| Filter Value | string | Closed Won - or a date word like THIS_MONTH, or Closed Won,Closed Lost for Is One Of — stage names must match your org's Opportunity Stage list | |
| More Filters | object | [{"field":"Amount","operator":">","value":"10000"},{"field":"IsClosed","operator":"=","value":"false"}] - extra filters | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | CloseDate ASC - or Amount DESC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted Deals (Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Add Product to Opportunity
crm/salesforce/opportunity_line_item_create · Action
Put a product line on a deal. Pick the product and we work out its price book entry and list price for you - a deal with no product lines has no real value and never reaches the forecast.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal to add the product to |
| Product | string | 01t5f000004AbCdAAK - we find its price for you | |
| Price Book Entry | string | 01u5f000000AbCdAAK - only if you already know it; otherwise leave blank | |
| Quantity | string | 1 - how many of this product (defaults to 1) | |
| Price Each | string | 499.00 - leave blank to use the price book price | |
| Line Total | string | 1497.00 - set this instead of Price Each, never both | |
| Discount (%) | string | 10 — only if Discount is enabled on Opportunity Products in your org | |
| Service Or Delivery Date | datetime | 2026-10-01 (the date only) | |
| Line Description | text | What this line covers, shown on the deal | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the product line |
Returns: id, result, tool_result, success, error
Salesforce: Remove Product from Opportunity
crm/salesforce/opportunity_line_item_delete · Action
Take a product line off a deal. Salesforce recalculates the deal's value straight away.
| Field | Type | Details | |
|---|---|---|---|
| Product Line ID | string | Required | 00k5f00000AbCdEAAV - from Get Opportunity Products |
Returns: id, result, tool_result, success, error
Salesforce: Get Opportunity Products
crm/salesforce/opportunity_line_item_get_all · Action
List the product lines on a deal with their quantity, price each and line total - what you need to build a quote, an invoice or an order from the deal.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal whose products you want |
| Fields | string | Name,Quantity,UnitPrice - leave blank for the usual product-line fields | |
| Sort By | string | TotalPrice DESC - or ServiceDate ASC | |
| Return All (fetch every product line) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Opportunity Product
crm/salesforce/opportunity_line_item_update · Action
Change the quantity, price or discount on a product line, and Salesforce recalculates the deal's value. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Product Line ID | string | Required | 00k5f00000AbCdEAAV - from Get Opportunity Products |
| Quantity | string | 3 - how many of this product | |
| Price Each | string | 499.00 - set this or Line Total, never both | |
| Line Total | string | 1497.00 - set this or Price Each, never both | |
| Discount (%) | string | 10 — only if Discount is enabled on Opportunity Products in your org | |
| Service Or Delivery Date | datetime | 2026-10-01 (the date only) | |
| Line Description | text | What this line covers, shown on the deal | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the product line |
Returns: id, result, tool_result, success, error
Salesforce: Update Opportunity
crm/salesforce/opportunity_update · Action
Change a deal in Salesforce - move it to the next stage, revise the value, push the close date out. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Opportunity ID | string | Required | 0065f00000AbCdEAAV - the deal to change |
| Opportunity Name | string | Acme Ltd - 50 seat renewal | |
| Stage | string | Closed Won - must match a stage in your Salesforce sales process | |
| Expected Close Date | datetime | 2026-09-30 (the date only - Salesforce ignores the time) | |
| Company (Account) | string | 0015f00000AbCdEAAV - the Salesforce account this deal belongs to | |
| Amount | string | 12500.00 - the deal value in your org's currency | |
| Probability (%) | integer | 40 - leave blank to let Salesforce derive it from the stage | |
| Opportunity Type | string | New Business or Existing Business | |
| Lead Source | string | Web, Partner, Trade Show - must match your org's Lead Source list | |
| Next Step | string | Send the proposal by Friday | |
| Description | text | Background on the deal, visible to everyone on the account | |
| Campaign | string | 7015f000000AbCdAAK - the campaign that sourced this deal | |
| Price Book | string | 01s5f000004AbCdAAK - cannot be changed once the deal has products | |
| Forecast Category | string | Pipeline, Best Case, Commit, Closed - normally derived from the stage | |
| Owner | string | 0055f00000AbCdEAAV - the salesperson who owns the deal | |
| Record Type | string | 0125f000000AbCdAAK - only if your org uses record types | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Opportunity
crm/salesforce/opportunity_upsert · Action
Match a deal on one of your own reference numbers and update it if it exists, or create it if it does not. This is what stops a re-run from creating a second copy of every deal.
| Field | Type | Details | |
|---|---|---|---|
| Match On Field | string | Required | Order_Reference__c - a Salesforce field marked as an External ID |
| Match On Value | string | Required | SO-10432 - the value to look for in that field |
| Opportunity Name | string | Acme Ltd - 50 seat renewal (required when the deal does not exist yet) | |
| Expected Close Date | datetime | 2026-09-30 (required when the deal does not exist yet) | |
| Stage | string | Prospecting (required when the deal does not exist yet) | |
| Company (Account) | string | 0015f00000AbCdEAAV - the Salesforce account this deal belongs to | |
| Amount | string | 12500.00 - the deal value in your org's currency | |
| Probability (%) | integer | 40 - leave blank to let Salesforce derive it from the stage | |
| Opportunity Type | string | New Customer, Existing Customer - Upgrade - must match your org's Opportunity Type list | |
| Lead Source | string | Web, Partner, Trade Show - must match your org's Lead Source list | |
| Next Step | string | Send the proposal by Friday | |
| Description | text | Background on the deal, visible to everyone on the account | |
| Campaign | string | 7015f000000AbCdAAK - the campaign that sourced this deal | |
| Price Book | string | 01s5f000004AbCdAAK - needed before you can add products to the deal | |
| Forecast Category | string | Pipeline, Best Case, Commit, Closed - normally derived from the stage | |
| Owner | string | 0055f00000AbCdEAAV - the salesperson who owns the deal | |
| Record Type | string | 0125f000000AbCdAAK - only if your org uses record types | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field |
Returns: id, result, tool_result, success, error
21Order
Salesforce: Activate Order
crm/salesforce/order_activate · Action
Activate an order once its product lines are in place, so it counts as a real order rather than a draft. Salesforce stamps who activated it and when, and locks the product lines from further changes.
| Field | Type | Details | |
|---|---|---|---|
| Order ID | string | Required | 8015f000000AbCdAAK - the draft order to activate |
Returns: id, result, tool_result, success, error
Salesforce: Create Order
crm/salesforce/order_create · Action
Raise an order against a customer's account in Salesforce - the record that turns a won deal or an online sale into something the warehouse and finance can work from. Add its product lines next, then activate it.
| Field | Type | Details | |
|---|---|---|---|
| Company (Account) | string | Required | 0015f00000AbCdEAAV - the customer this order is for |
| Order Start Date | datetime | Required | 2026-08-01 (the date only - Salesforce ignores the time) |
| Status | string | Draft - a new order always starts as a draft (leave blank for Draft) — choices: Draft, Activated | |
| Price Book | string | 01s5f000004AbCdAAK - the price list to order from; needed before any product can be added | |
| Contract | string | 8005f000000AbCdAAK - the contract this order is placed under | |
| Order Name | string | Acme Ltd - August generator order (Salesforce numbers the order for you) | |
| Order Type | string | Must match an Order Type in your Salesforce org - Salesforce ships none, so leave it blank unless an administrator has added some | |
| Order End Date | datetime | 2027-07-31 (the date only) - for a term or subscription order | |
| Customer PO Number | string | PO-2026-4471 - the customer's own purchase order reference | |
| Customer PO Date | datetime | 2026-07-28 (the date only) | |
| Your Order Reference | string | SHOP-10482 - your own reference, e.g. the Shopify or WooCommerce order number | |
| Description | text | Anything the warehouse or finance need to know about this order | |
| Bill To Contact | string | 0035f00000AbCdEAAV - who to invoice | |
| Ship To Contact | string | 0035f00000AbCdEAAV - who receives the goods | |
| Bill To Street | text | 1 High Street | |
| Bill To City | string | London | |
| Bill To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Bill To Postcode | string | EC1A 1BB | |
| Bill To Country | string | United Kingdom - must match your org's country list | |
| Ship To Street | text | Unit 4, Riverside Estate | |
| Ship To City | string | Manchester | |
| Ship To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Ship To Postcode | string | M1 2AB | |
| Ship To Country | string | United Kingdom - must match your org's country list | |
| Owner | string | 0055f00000AbCdEAAV - the person who owns this order | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the order |
Returns: id, result, tool_result, success, error
Salesforce: Delete Order
crm/salesforce/order_delete · Action
Send an order and its product lines to the Salesforce Recycle Bin, where an administrator can restore it for 15 days. Only draft orders can be deleted - an activated one has to be put back to Draft first.
| Field | Type | Details | |
|---|---|---|---|
| Order ID | string | Required | 8015f000000AbCdAAK - the order to delete |
Returns: id, result, tool_result, success, error
Salesforce: Get Order
crm/salesforce/order_get · Action
Look up one order by its Salesforce ID and return everything on it - the order number, its status, what it adds up to, the dates and the delivery address.
| Field | Type | Details | |
|---|---|---|---|
| Order ID | string | Required | 8015f000000AbCdAAK - the order's Salesforce ID |
| Fields | string | OrderNumber,Status,TotalAmount,EffectiveDate - leave blank to return every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Orders
crm/salesforce/order_get_all · Action
List orders from Salesforce, optionally filtered - everything still in draft, every order on one account, everything activated this week. Turn on Return All to fetch every match.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | OrderNumber,Status,TotalAmount,EffectiveDate - leave blank for the usual order fields | |
| Filter Field | string | Status - the field to filter on | |
| Comparison | string | How to compare the field to the value (defaults to equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (IN), Is Not One Of (NOT IN) | |
| Filter Value | string | Draft - or Activated, or a date word like THIS_MONTH, or Draft,Activated for Is One Of | |
| More Filters | object | [{"field":"TotalAmount","operator":">","value":"10000"},{"field":"EffectiveDate","operator":">=","value":"THIS_MONTH"}] - extra filters | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | EffectiveDate DESC - or TotalAmount DESC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted Orders (Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Add Product to Order
crm/salesforce/order_item_create · Action
Put a product line on an order. Pick the product and we find its price book entry, read the list price and put the order on the right price book for you - an order needs at least one product line before it can be activated.
| Field | Type | Details | |
|---|---|---|---|
| Order ID | string | Required | 8015f000000AbCdAAK - the draft order to add the product to |
| Product | string | 01t5f000004AbCdAAK - we find its price for you | |
| Price Book Entry | string | 01u5f000000AbCdAAK - only if you already know it; it wins over the Product above | |
| Quantity | string | 2 - how many of this product (defaults to 1) | |
| Price Each | string | 499.00 - leave blank to use the price book price | |
| Service Or Delivery Date | datetime | 2026-08-15 (the date only) - cannot be earlier than the order's own start date | |
| Line End Date | datetime | 2027-07-31 (the date only) - for a subscription line; cannot be later than the order's own end date | |
| Line Description | string | What this line covers, shown on the order | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the order line |
Returns: id, result, tool_result, success, error
Salesforce: Get Order Products
crm/salesforce/order_item_get_all · Action
List the product lines on an order with their quantity, price each and line total - what you need to send a picking list to the warehouse, raise an invoice or check an order before activating it.
| Field | Type | Details | |
|---|---|---|---|
| Order ID | string | Required | 8015f000000AbCdAAK - the order whose products you want |
| Fields | string | Product2.Name,Quantity,UnitPrice,TotalPrice - leave blank for the usual order-line fields | |
| Sort By | string | TotalPrice DESC - or ServiceDate ASC | |
| Return All (fetch every product line) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Order
crm/salesforce/order_update · Action
Change an order in Salesforce - correct the delivery address, add the customer's PO number, move the dates, or put an activated order back to Draft so its products can be edited. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Order ID | string | Required | 8015f000000AbCdAAK - the order to change |
| Status | string | Draft - putting an activated order back to Draft is how you unlock its products — choices: Draft, Activated | |
| Company (Account) | string | 0015f00000AbCdEAAV - the customer this order is for | |
| Contract | string | 8005f000000AbCdAAK - the contract this order is placed under | |
| Order Name | string | Acme Ltd - August generator order | |
| Order Type | string | Must match an Order Type in your Salesforce org - Salesforce ships none, so leave it blank unless an administrator has added some | |
| Order Start Date | datetime | 2026-08-01 (the date only - Salesforce ignores the time) | |
| Order End Date | datetime | 2027-07-31 (the date only) - for a term or subscription order | |
| Customer PO Number | string | PO-2026-4471 - the customer's own purchase order reference | |
| Customer PO Date | datetime | 2026-07-28 (the date only) | |
| Your Order Reference | string | SHOP-10482 - your own reference, e.g. the Shopify or WooCommerce order number | |
| Description | text | Anything the warehouse or finance need to know about this order | |
| Price Book | string | 01s5f000004AbCdAAK - cannot be changed once the order has product lines | |
| Bill To Contact | string | 0035f00000AbCdEAAV - who to invoice | |
| Ship To Contact | string | 0035f00000AbCdEAAV - who receives the goods | |
| Bill To Street | text | 1 High Street | |
| Bill To City | string | London | |
| Bill To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Bill To Postcode | string | EC1A 1BB | |
| Bill To Country | string | United Kingdom - must match your org's country list | |
| Ship To Street | text | Unit 4, Riverside Estate | |
| Ship To City | string | Manchester | |
| Ship To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Ship To Postcode | string | M1 2AB | |
| Ship To Country | string | United Kingdom - must match your org's country list | |
| Owner | string | 0055f00000AbCdEAAV - the person who owns this order | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the order |
Returns: id, result, tool_result, success, error
22Org
Salesforce: Get Org Limits
crm/salesforce/org_limits_get · Action
Check how much of your Salesforce allowance is left — daily API calls, data storage, file storage — so a flow can stop or warn before it uses it all up.
| Field | Type | Details | |
|---|---|---|---|
| Just One Allowance | string | DailyApiRequests — leave blank to return them all |
Returns: id, result, tool_result, success, error
23Price
Salesforce: Add Product to Price Book
crm/salesforce/price_book_entry_create · Action
Give a product a price in one of your price books, so it can be quoted and put on deals. Add it to the standard price book first - Salesforce insists on a list price before it will accept any other.
| Field | Type | Details | |
|---|---|---|---|
| Price Book | string | Required | 01s5f000004AbCdAAK - use Get Many Price Books to find it, and start with the standard one |
| Product | string | Required | 01t5f000004AbCdAAK - the product to give a price to |
| Price Each | string | Required | 25000.00 - plain numbers only, no currency symbols or commas |
| Price Can Be Used (leave off and it is still switched on) | boolean | ||
| Copy The Standard Price (keeps this price in step with the list price; not for the standard price book itself) | boolean | ||
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the price |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Price Book Entries
crm/salesforce/price_book_entry_get_all · Action
Find what a product costs, and get the price book entry ID you need to put it on a deal. Pick a price book, a product, or both - this is the lookup Salesforce makes you write SOQL for.
| Field | Type | Details | |
|---|---|---|---|
| Price Book | string | 01s5f000004AbCdAAK - only prices from this price book (leave blank for all of them) | |
| Product | string | 01t5f000004AbCdAAK - only prices for this product (leave blank for all of them) | |
| Product Code | string | GC1040 - use this instead of Product if all you have is the catalogue code | |
| Only Prices That Can Be Used | boolean | ||
| Fields | string | UnitPrice,Product2.Name - leave blank for the price, the product name and the price book name | |
| Filter Field | string | UnitPrice - the field to filter on | |
| Comparison | string | How to compare the field to the value (defaults to equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (IN), Is Not One Of (NOT IN) | |
| Filter Value | string | 25000 with Greater Than - plain numbers only, no currency symbols or commas | |
| More Filters | object | [{"field":"UnitPrice","operator":">","value":"1000"},{"field":"UseStandardPrice","operator":"=","value":"false"}] - extra filters | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | UnitPrice DESC - or Name ASC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Change Product Price
crm/salesforce/price_book_entry_update · Action
Change what a product costs in a price book, or switch the price off so nobody can quote it. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Price Book Entry | string | Required | 01u5f000000AbCdAAK - use Get Many Price Book Entries to find the price you want to change |
| Price Each | string | 27500.00 - plain numbers only, no currency symbols or commas | |
| Price Can Be Used (untick to stop it being quoted) | boolean | ||
| Copy The Standard Price (keeps this price in step with the list price; not for the standard price book itself) | boolean | ||
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the price |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Price Books
crm/salesforce/price_book_get_all · Action
List your Salesforce price books and see which one is the standard list price. Use it to find the price book ID a deal or a price needs, without hunting through Setup.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | Name,IsActive,IsStandard - leave blank for the usual price book fields | |
| Only The Standard Price Book | boolean | ||
| Only Price Books In Use | boolean | ||
| Filter Field | string | Name - the field to filter on | |
| Comparison | string | How to compare the field to the value (defaults to equals) — choices: Equals, Does Not Equal, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (IN), Is Not One Of (NOT IN), Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To | |
| Filter Value | string | %Trade% with Contains - the % signs are the wildcard; or Retail,Trade for Is One Of | |
| More Filters | object | [{"field":"IsActive","operator":"=","value":"true"}] - extra filters | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | Name ASC - or LastModifiedDate DESC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted Price Books (Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
24Product
Salesforce: Create Product
crm/salesforce/product_create · Action
Add a product to your Salesforce catalogue so it can be priced, quoted and put on deals. New products are created ready to sell unless you turn that off.
| Field | Type | Details | |
|---|---|---|---|
| Product Name | string | Required | GenWatt Diesel 200kW - what the product is called on quotes and deals |
| Product Code | string | GC1040 - your own catalogue code for this product | |
| Description | text | What the product is, in the words a customer would recognise | |
| Ready To Sell (leave off and it is still switched on) | boolean | ||
| Product Family | string | Must match a value in your org's Product Family list - Salesforce accepts anything else without complaining and stores it as typed | |
| Sold In Units Of | string | Each - must match your org's Quantity Unit Of Measure list | |
| Stock Code (SKU) | string | SKU-000142 - the code your warehouse or shop uses | |
| Product Web Page | string | https://www.acme.co.uk/products/genwatt-200kw | |
| Your Reference | string | ERP-000142 - a plain text box on the product; Salesforce does NOT treat it as an External ID, so Create or Update Product cannot match on it | |
| Bundle Type | string | Leave blank for an ordinary product — choices: Base (an ordinary product), Bundle (sold as a package of products), Set (a group sold together) | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the product |
Returns: id, result, tool_result, success, error
Salesforce: Delete Product
crm/salesforce/product_delete · Action
Send a product to the Salesforce Recycle Bin, where it can be restored for 15 days. Its prices go with it. Salesforce will refuse if the product is already on a deal - retire it with Update Product instead.
| Field | Type | Details | |
|---|---|---|---|
| Product | string | Required | 01t5f000004AbCdAAK - the record ID of the product to delete |
Returns: id, result, tool_result, success, error
Salesforce: Get Product
crm/salesforce/product_get · Action
Look up one product in your Salesforce catalogue by its record ID and return its details. Leave Fields blank to get everything the connected Salesforce user is allowed to see.
| Field | Type | Details | |
|---|---|---|---|
| Product | string | Required | 01t5f000004AbCdAAK - the record ID of the product to fetch |
| Fields | string | Name,ProductCode,Family,IsActive (comma-separated; blank returns every field) |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Products
crm/salesforce/product_get_all · Action
List products from your Salesforce catalogue - everything you sell, one product family, or just the items that are still ready to sell. Turn on Return All to fetch every match.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | Name,ProductCode,Family - leave blank for the usual catalogue fields | |
| Only Products Ready To Sell | boolean | ||
| Product Family | string | Generators - must match a value in your org's Product Family list exactly, or nothing comes back | |
| Filter Field | string | ProductCode - the field to filter on | |
| Comparison | string | How to compare the field to the value (defaults to equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (IN), Is Not One Of (NOT IN) | |
| Filter Value | string | GC10% with Contains - or GC1040,GC1060 for Is One Of, or a date word like LAST_N_DAYS:30 | |
| More Filters | object | [{"field":"IsActive","operator":"=","value":"true"},{"field":"Name","operator":"LIKE","value":"GenWatt%"}] - extra filters | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | Name ASC - or LastModifiedDate DESC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted Products (Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Product
crm/salesforce/product_update · Action
Change a product in your Salesforce catalogue - rename it, correct its code, or retire it so nobody can put it on a new deal. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Product | string | Required | 01t5f000004AbCdAAK - the record ID of the product to change |
| Product Name | string | GenWatt Diesel 200kW | |
| Product Code | string | GC1040 - your own catalogue code for this product | |
| Description | text | What the product is, in the words a customer would recognise | |
| Ready To Sell (untick to retire the product) | boolean | ||
| Product Family | string | Must match a value in your org's Product Family list - Salesforce accepts anything else without complaining and stores it as typed | |
| Sold In Units Of | string | Each - must match your org's Quantity Unit Of Measure list | |
| Stock Code (SKU) | string | SKU-000142 - the code your warehouse or shop uses | |
| Product Web Page | string | https://www.acme.co.uk/products/genwatt-200kw | |
| Your Reference | string | ERP-000142 - a plain text box on the product; Salesforce does NOT treat it as an External ID | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the product |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Product
crm/salesforce/product_upsert · Action
Keep your Salesforce catalogue in step with a spreadsheet, shop or ERP: match a product on its name, code or your own reference and update it if it exists, or create it if it does not. Safe to run over and over - it will not create duplicates.
| Field | Type | Details | |
|---|---|---|---|
| Match On | string | Name (the default), or ProductCode, or StockKeepingUnit, or a custom External ID field such as ERP_Code__c | |
| Match Value | string | Required | GenWatt Diesel 200kW - the value to look for in that field |
| Product Name | string | GenWatt Diesel 200kW - only needed the first time, when the product has to be created | |
| Product Code | string | GC1040 - your own catalogue code for this product | |
| Description | text | What the product is, in the words a customer would recognise | |
| Ready To Sell (Salesforce creates new products switched OFF, so tick this on a first run) | boolean | ||
| Product Family | string | Must match a value in your org's Product Family list - Salesforce accepts anything else without complaining and stores it as typed | |
| Sold In Units Of | string | Each - must match your org's Quantity Unit Of Measure list | |
| Stock Code (SKU) | string | SKU-000142 - the code your warehouse or shop uses | |
| Product Web Page | string | https://www.acme.co.uk/products/genwatt-200kw | |
| Your Reference | string | ERP-000142 - a plain text box on the product; Salesforce does NOT treat it as an External ID | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the product |
Returns: id, result, tool_result, success, error
25Query
Salesforce: Run Query Including Deleted
crm/salesforce/query_all · Action
Run a Salesforce query that also returns records in the Recycle Bin and archived activities — the records people think have vanished. Select IsDeleted in your query to see which ones are deleted, or add WHERE IsDeleted = true to see only those.
| Field | Type | Details | |
|---|---|---|---|
| Query | text | Required | SELECT Id, Name, IsDeleted FROM Account WHERE IsDeleted = true |
| Return Every Page | boolean | Keep fetching until every matching record has been returned |
Returns: results, count, total_size, next_url, result, tool_result, success, error
26Quick
Salesforce: Get Many Quick Actions
crm/salesforce/quick_action_get_all · Action
List the quick actions your Salesforce administrator has set up, either across the whole org or on one type of record.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Account — leave blank for the org-wide quick actions | |
| Name Contains | string | call — leave blank to list them all | |
| Limit | integer | Most quick actions to return — leave blank for all of them |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Run Quick Action
crm/salesforce/quick_action_run · Action
Create or update a record using one of your Salesforce quick actions, so it comes out exactly the way your administrator set the action up.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Account — leave blank for an org-wide quick action | |
| Quick Action | string | Required | LogACall — the quick action's API name |
| Related Record | string | 0015f00000AbCdEAAV — the record the action is being run from | |
| Field to Set | string | Subject | |
| Value | string | Called the customer back | |
| More Fields (JSON) | object | {"Subject":"Called the customer back","Description":"Agreed a follow-up for Friday"} |
Returns: id, result, tool_result, success, error
27Quote
Salesforce: Create Quote
crm/salesforce/quote_create · Action
Create a quote on a deal in Salesforce, ready for product lines to be added and sent to the customer. Salesforce works out the quote number, the customer's account and the totals for you.
| Field | Type | Details | |
|---|---|---|---|
| Quote Name | string | Required | Acme Ltd - 50 seat renewal (June revision) |
| Opportunity (Deal) | string | 0065f00000AbCdEAAV - the deal this quote is for; Salesforce copies the customer's account across from it. Needed unless an administrator has switched on Create Quotes Without a Related Opportunity | |
| Price Book | string | 01s5f000004AbCdAAK - the price list to quote from; needed before any product can be added | |
| Quote Recipient (Contact) | string | 0035f00000AbCdEAAV - the person the quote is addressed to | |
| Status | string | Draft - where the quote sits in your approval process (leave blank for Draft) — choices: Draft, Needs Review, In Review, Approved, Rejected, Presented, Accepted, Denied | |
| Expires On | datetime | 2026-09-30 (the date only - Salesforce ignores the time) | |
| Description | text | Notes about this quote, visible to everyone on the deal | |
| Recipient Email | string | buyer@acme.example.com - where the quote gets sent | |
| Recipient Phone | string | 020 7946 0000 | |
| Tax | string | 250.50 - the tax amount to add to the quote total | |
| Shipping & Handling | string | 45.00 - carriage to add to the quote total | |
| Company (Quote Account) | string | 0015f00000AbCdEAAV - only needed for a quote with no deal behind it | |
| Contract | string | 8005f000000AbCdAAK - the contract this quote relates to | |
| Bill To Name | string | Acme Ltd - Accounts Payable | |
| Bill To Street | text | 1 High Street | |
| Bill To City | string | London | |
| Bill To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Bill To Postcode | string | EC1A 1BB | |
| Bill To Country | string | United Kingdom - must match your org's country list | |
| Ship To Name | string | Acme Ltd - Goods In | |
| Ship To Street | text | Unit 4, Riverside Estate | |
| Ship To City | string | Manchester | |
| Ship To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Ship To Postcode | string | M1 2AB | |
| Ship To Country | string | United Kingdom - must match your org's country list | |
| Owner | string | 0055f00000AbCdEAAV - the salesperson who owns the quote | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the quote |
Returns: id, result, tool_result, success, error
Salesforce: Delete Quote
crm/salesforce/quote_delete · Action
Send a quote and its product lines to the Salesforce Recycle Bin, where an administrator can restore it for 15 days. Use it to clear out superseded drafts.
| Field | Type | Details | |
|---|---|---|---|
| Quote ID | string | Required | 0Q05f000000AbCdAAK - the quote to delete |
Returns: id, result, tool_result, success, error
Salesforce: Get Quote
crm/salesforce/quote_get · Action
Look up one quote by its Salesforce ID and return everything on it - the quote number, its status, what it adds up to, when it expires and who it was sent to.
| Field | Type | Details | |
|---|---|---|---|
| Quote ID | string | Required | 0Q05f000000AbCdAAK - the quote's Salesforce ID |
| Fields | string | QuoteNumber,Status,GrandTotal,ExpirationDate - leave blank to return every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Quotes
crm/salesforce/quote_get_all · Action
List quotes from Salesforce, optionally filtered - everything expiring this month, every quote on one deal, everything still waiting to be accepted. Turn on Return All to fetch every match.
| Field | Type | Details | |
|---|---|---|---|
| Fields | string | QuoteNumber,Status,GrandTotal,ExpirationDate - leave blank for the usual quote fields | |
| Filter Field | string | Status - the field to filter on | |
| Comparison | string | How to compare the field to the value (defaults to equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (IN), Is Not One Of (NOT IN) | |
| Filter Value | string | Presented - or a date word like THIS_MONTH, or Presented,Accepted for Is One Of | |
| More Filters | object | [{"field":"ExpirationDate","operator":"<=","value":"NEXT_N_DAYS:30"},{"field":"GrandTotal","operator":">","value":"10000"}] - extra filters | |
| Match ANY filter instead of all | boolean | ||
| Sort By | string | ExpirationDate ASC - or GrandTotal DESC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on | |
| Include Deleted Quotes (Recycle Bin) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Add Product to Quote
crm/salesforce/quote_line_item_create · Action
Put a product line on a quote. Pick the product and we find its price book entry, read the list price and put the quote on the right price book for you - a quote with no product lines totals nothing and cannot be sent.
| Field | Type | Details | |
|---|---|---|---|
| Quote ID | string | Required | 0Q05f000000AbCdAAK - the quote to add the product to |
| Product | string | 01t5f000004AbCdAAK - we find its price for you | |
| Price Book Entry | string | 01u5f000000AbCdAAK - only if you already know it; it wins over the Product above | |
| Quantity | string | 1 - how many of this product (defaults to 1) | |
| Price Each | string | 499.00 - leave blank to use the price book price | |
| Discount (%) | string | 10 - a percentage off this line, which is what drives the quote's overall discount | |
| Service Or Delivery Date | datetime | 2026-10-01 (the date only) | |
| Line Description | string | What this line covers, printed on the quote | |
| Line Order | integer | 1 - where this line appears on the printed quote | |
| Deal Product Line | string | 00k5f000000AbCdAAK - link this line back to the matching product line on the deal | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other field on the quote line |
Returns: id, result, tool_result, success, error
Salesforce: Get Quote Products
crm/salesforce/quote_line_item_get_all · Action
List the product lines on a quote with their quantity, price each, discount and line total - what you need to email the quote, build a PDF or turn it into an order.
| Field | Type | Details | |
|---|---|---|---|
| Quote ID | string | Required | 0Q05f000000AbCdAAK - the quote whose products you want |
| Fields | string | Product2.Name,Quantity,UnitPrice,TotalPrice - leave blank for the usual quote-line fields | |
| Sort By | string | SortOrder ASC - or TotalPrice DESC | |
| Return All (fetch every product line) | boolean | ||
| Limit | integer | 50 (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Sync Quote to Opportunity
crm/salesforce/quote_sync_to_opportunity · Action
Make the deal match the quote the customer actually received. Salesforce copies the quote's product lines and total onto the deal and keeps the two in step from then on, so the forecast shows the quoted figure rather than an old estimate.
| Field | Type | Details | |
|---|---|---|---|
| Quote ID | string | Required | 0Q05f000000AbCdAAK - the quote to sync |
| Opportunity (Deal) | string | 0065f00000AbCdEAAV - leave blank and we use the deal the quote is already on | |
| Stop syncing instead (leave the deal as it is now) | boolean |
Returns: id, result, tool_result, success, error
Salesforce: Update Quote
crm/salesforce/quote_update · Action
Change a quote in Salesforce - mark it Presented or Accepted, push the expiry out, correct the tax or the delivery address. Anything you leave blank is left exactly as it was.
| Field | Type | Details | |
|---|---|---|---|
| Quote ID | string | Required | 0Q05f000000AbCdAAK - the quote to change |
| Status | string | Presented - where the quote now sits in your approval process — choices: Draft, Needs Review, In Review, Approved, Rejected, Presented, Accepted, Denied | |
| Quote Name | string | Acme Ltd - 50 seat renewal (June revision) | |
| Expires On | datetime | 2026-10-15 (the date only - Salesforce ignores the time) | |
| Quote Recipient (Contact) | string | 0035f00000AbCdEAAV - the person the quote is addressed to | |
| Recipient Email | string | buyer@acme.example.com - where the quote gets sent | |
| Recipient Phone | string | 020 7946 0000 | |
| Description | text | Notes about this quote, visible to everyone on the deal | |
| Tax | string | 250.50 - the tax amount added to the quote total | |
| Shipping & Handling | string | 45.00 - carriage added to the quote total | |
| Price Book | string | 01s5f000004AbCdAAK - cannot be changed once the quote has product lines | |
| Opportunity (Deal) | string | 0065f00000AbCdEAAV - the deal this quote belongs to | |
| Contract | string | 8005f000000AbCdAAK - the contract this quote relates to | |
| Bill To Name | string | Acme Ltd - Accounts Payable | |
| Bill To Street | text | 1 High Street | |
| Bill To City | string | London | |
| Bill To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Bill To Postcode | string | EC1A 1BB | |
| Bill To Country | string | United Kingdom - must match your org's country list | |
| Ship To Name | string | Acme Ltd - Goods In | |
| Ship To Street | text | Unit 4, Riverside Estate | |
| Ship To City | string | Manchester | |
| Ship To State/Province | string | Only for countries your Salesforce org lists states for - the United Kingdom has none, so leave it blank | |
| Ship To Postcode | string | M1 2AB | |
| Ship To Country | string | United Kingdom - must match your org's country list | |
| Owner | string | 0055f00000AbCdEAAV - the salesperson who owns the quote | |
| Additional Fields | object | {"My_Custom_Field__c":"value"} - any other Salesforce field on the quote |
Returns: id, result, tool_result, success, error
28Record
Salesforce: Create Many Records
crm/salesforce/record_create_many · Action
Create a whole list of records on any Salesforce object in one go. Up to 200 records per API call, split automatically, so a big import does not eat your org's daily Salesforce allowance.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Records | object | Required | [{"LastName":"Smith"},{"LastName":"Jones"}] |
| Roll Everything Back If Any Record Fails | boolean | ||
| Fields For Every Record | object | {"OwnerId":"0055f000..."} — applied to every record that does not set it itself |
Returns: results, ids, success_count, failure_count, result, tool_result, success, error
Salesforce: Delete Many Records
crm/salesforce/record_delete_many · Action
Delete a list of Salesforce records in one go — up to 200 per API call, split automatically. Deleted records go to the Recycle Bin and can be restored for 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Record IDs | string | Required | 0035f000...,0035f000... — comma separated, or a list from an earlier step |
| Roll Everything Back If Any Record Fails | boolean |
Returns: results, ids, success_count, failure_count, result, tool_result, success, error
Salesforce: Find Record by Field
crm/salesforce/record_find · Action
Look up a single record by one of its values — an email address, an order number, a reference from another system. If nothing matches, the action still succeeds with an empty Record ID, so your flow can go on to create the record instead.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Required | Contact, Account, Lead, Invoice__c |
| Look Up By | string | Required | |
| Value to Match | string | Required | jane@example.com |
| How to Match | string | Exactly — choices: Exactly, Contains, Starts With, Ends With | |
| Details to Return | string | Id, FirstName, LastName, Email — leave blank for the usual details | |
| When Several Match, Prefer | string | CreatedDate DESC — decides which record wins |
Returns: id, result, tool_result, success, error
Salesforce: Get Deleted Records
crm/salesforce/record_get_deleted · Action
List the records deleted on any Salesforce object between two times, with when each one went. Deletions are invisible to ordinary searches, so this is the only way a flow can keep another system in step.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Deleted Since | datetime | Required | 2026-07-24T09:00:00Z — must be within the last 30 days |
| Deleted Before | datetime | Leave blank for right now |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Get Related Records
crm/salesforce/record_get_related · Action
List the records linked to a parent record — the contacts at an account, the deals on a company, the cases for a customer. Pick the parent and the relationship; no query writing needed.
| Field | Type | Details | |
|---|---|---|---|
| Parent Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Parent Record ID | string | Required | 0015f00000AbCdEAAV |
| Related List | string | Required | Contacts, Opportunities, Cases — or a custom one like Invoices__r |
| Fields | string | Id, Name, Email — comma separated (blank returns Salesforce's default set) | |
| Return All (fetch every page) | boolean | ||
| Next Page URL (resume) | string | The Next Page URL from a previous run — leave blank to start from the beginning |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Get Updated Records
crm/salesforce/record_get_updated · Action
List the records on any Salesforce object that were created or changed between two times. One cheap call instead of re-reading the whole object, so a scheduled flow can act on just what moved.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Changed Since | datetime | Required | 2026-07-24T09:00:00Z — must be within the last 30 days |
| Changed Before | datetime | Leave blank for right now |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Merge Duplicate Records
crm/salesforce/record_merge · Action
Merge duplicate accounts, contacts, leads or cases into one surviving record. Activities, notes and related items move across to the record you keep; the duplicates go to the Recycle Bin.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | choices: Account, Contact, Lead, Case |
| Record To Keep | string | Required | 0015f00000AbCdEAAV — the record that survives the merge |
| Records To Merge In | string | Required | 0015f00000XyZ... — up to two, comma separated |
| Fields To Set On The Record You Keep | object | {"Phone":"0161 496 0000"} — optional, applied as part of the merge |
Returns: id, result, tool_result, success, error
Salesforce: Restore Deleted Record
crm/salesforce/record_undelete · Action
Bring a record back from the Salesforce Recycle Bin after it was deleted by mistake. Works for 15 days after the deletion, on any object.
| Field | Type | Details | |
|---|---|---|---|
| Record ID | string | Required | 0015f00000AbCdEAAV — the ID of the deleted record |
Returns: id, result, tool_result, success, error
Salesforce: Update Many Records
crm/salesforce/record_update_many · Action
Update a whole list of existing records on any Salesforce object in one go. Each record needs its Salesforce ID. Up to 200 per API call, split automatically, with an optional roll-everything-back checkbox.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Records | object | Required | [{"Id":"0035f000...","Title":"Manager"}] — every record needs its Id |
| Roll Everything Back If Any Record Fails | boolean | ||
| Fields For Every Record | object | {"Status__c":"Reviewed"} — applied to every record that does not set it itself |
Returns: results, ids, success_count, failure_count, result, tool_result, success, error
Salesforce: Create or Update Record
crm/salesforce/record_upsert · Action
Create a record, or update the existing one that matches — on any Salesforce object. Salesforce matches on a field you choose (an order number, a customer reference, an email), so re-running the flow never creates a duplicate.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Match On Field | string | Required | The field Salesforce matches on, e.g. Customer_Ref__c |
| Match On Value | string | Required | The value to look for, e.g. CUST-1042 |
| Fields | object | {"Name":"Acme Ltd","Phone":"0161 496 0000"} | |
| Record Type ID | string | 012... — leave blank to use the default record type | |
| Extra Fields | object | {"Custom_Field__c":"value"} — merged on top of Fields |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Many Records
crm/salesforce/record_upsert_many · Action
Import a whole list of records on any Salesforce object, matching each one on a reference of your own — an order number, a customer code, an email. Re-running never creates duplicates. Up to 200 records per API call.
| Field | Type | Details | |
|---|---|---|---|
| Salesforce Object | string | Required | Account, Contact, Opportunity — or a custom one like Invoice__c |
| Match On Field | string | Required | The field Salesforce matches on, e.g. Customer_Ref__c |
| Records | object | Required | [{"Customer_Ref__c":"CUST-1042","Name":"Acme Ltd"}] — every record needs the match field |
| Roll Everything Back If Any Record Fails | boolean | ||
| Fields For Every Record | object | {"OwnerId":"0055f000..."} — applied to every record that does not set it itself |
Returns: results, ids, success_count, failure_count, result, tool_result, success, error
29Report
Salesforce: Get Many Reports
crm/salesforce/report_get_all · Action
List the saved Salesforce reports you can run, with the ID that Run Report needs. Search by name or narrow it to one report folder.
| Field | Type | Details | |
|---|---|---|---|
| Which Reports | string | Every report you can see — choices: Every report you can see, Only the ones you opened recently | |
| Name Contains | string | pipeline — leave blank to list them all | |
| Report Folder | string | Sales Reports — leave blank to search every folder | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 reports (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Run Report
crm/salesforce/report_run · Action
Run one of your saved Salesforce reports and get its totals back, optionally overriding the report's filters just for this run.
| Field | Type | Details | |
|---|---|---|---|
| Report | string | Required | 00O5f000004XyzAEAS — the report ID from Get Many Reports |
| Include the Individual Rows | boolean | ||
| Filters for This Run (JSON) | object | [{"column":"CREATED_DATE","operator":"greaterThan","value":"THIS_MONTH"}] | |
| Filter Logic | string | 1 AND (2 OR 3) — only needed with two or more filters | |
| Advanced Report Settings (JSON) | object | {"standardDateFilter":{"column":"CLOSE_DATE","durationValue":"THIS_QUARTER"}} |
Returns: id, result, tool_result, success, error
30Search
Salesforce: Run Query (SOQL)
crm/salesforce/search_query · Action
Run a Salesforce query you have written yourself and return the matching records. This is the advanced, power-user path — if you would rather not write a query, use Find Records or Find Record by Field instead.
| Field | Type | Details | |
|---|---|---|---|
| Query | text | Required | SELECT Id, Name, Email FROM Contact WHERE CreatedDate = LAST_N_DAYS:7 |
| Return Every Page | boolean | Keep fetching until every matching record has been returned |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Find Records
crm/salesforce/search_records · Action
Search Salesforce for anything — a name, an email address, a phone number, a reference — and get back the matching records across whichever objects you choose. No query writing required.
| Field | Type | Details | |
|---|---|---|---|
| Search For | string | Required | acme, jane@example.com, 07700 900123 — at least 2 characters |
| Search In These Records | string | Account, Contact, Lead — leave blank to search everything | |
| Details to Return | string | Id, Name, Email — leave blank for the usual details | |
| Where to Look | string | All searchable details — choices: All Searchable Details, Names Only, Email Addresses Only, Phone Numbers Only | |
| Maximum Results | integer | 50 (max 2000) |
Returns: results, count, total_size, next_url, result, tool_result, success, error
31Task
Salesforce: Mark Task Complete
crm/salesforce/task_complete · Action
Tick a Salesforce task off. No need to know which status value your org counts as done — it uses Completed unless you tell it otherwise.
| Field | Type | Details | |
|---|---|---|---|
| Task ID | string | Required | 00T5f00000AbCdEEAV |
| Completed Status | string | Completed — only change this if your org renamed it | |
| Comments | text | Optional — replaces the comments on the task, e.g. how the call went | |
| Call Result | string | Optional — e.g. Spoke to customer | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Create Task
crm/salesforce/task_create · Action
Add a to-do to Salesforce — a call to make, an email to send or a follow-up to chase — and link it to the person and the record it is about. Set it to repeat if it happens on a schedule.
| Field | Type | Details | |
|---|---|---|---|
| Status | string | Required | Not Started |
| Subject | string | Call back about the quote | |
| Comments | text | Anything the person doing this needs to know | |
| Due Date | datetime | The day it is due — any time of day is ignored | |
| Priority | string | Normal | |
| Assigned To | string | Salesforce user ID of the person responsible | |
| Contact or Lead | string | Record ID of the person this is about, e.g. 0035f00000AbCdEAAV | |
| Related Record | string | Record ID of the account, opportunity or case this relates to | |
| Activity Kind | string | Task, Call or Email — cannot be changed afterwards | |
| Type | string | Call, Email, Meeting or Other | |
| Call Direction | string | Inbound, Outbound or Internal | |
| Call Result | string | Left voicemail | |
| Call Recording ID | string | The call's ID in your phone system | |
| Call Length (seconds) | integer | 180 | |
| Set a Reminder | boolean | ||
| Remind At | datetime | When Salesforce should nudge the owner | |
| Repeats | boolean | ||
| Repeats How Often | string | RecursDaily, RecursWeekly, RecursMonthly or RecursYearly | |
| Repeat Every | integer | 2 with RecursWeekly means every other week | |
| Repeat On Days | string | Monday, Wednesday, Friday | |
| Repeat On Day of Month | integer | 15 | |
| Repeat On Which Week | string | First, Second, Third, Fourth or Last | |
| Repeat In Month | string | Only used by a yearly repeat — choices: January, February, March, April, May, June, July, August, September, October, November, December | |
| Repeat From | datetime | First day of the repeating series | |
| Repeat Until | datetime | Last day of the repeating series | |
| Regenerate After | string | RecurrenceRegenerateAfterDueDate | |
| Time Zone | string | Europe/London | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Delete Task
crm/salesforce/task_delete · Action
Remove a task from Salesforce. It goes to the Recycle Bin rather than disappearing, so it can still be restored for the next 15 days.
| Field | Type | Details | |
|---|---|---|---|
| Task ID | string | Required | 00T5f00000AbCdEEAV |
Returns: id, result, tool_result, success, error
Salesforce: Get Task Object Info
crm/salesforce/task_describe · Action
Return what your Salesforce org's Task object looks like, plus the tasks you last viewed. Handy for checking which status, priority and subject values your org actually uses, and as a quick test that the connection works.
| Field | Type | Details | |
|---|---|---|---|
| Include Every Field and Its Options | boolean |
Returns: id, result, tool_result, success, error
Salesforce: Get Task
crm/salesforce/task_get · Action
Look up one Salesforce task by its record ID and return everything on it, so a later step can check who it is assigned to, when it is due or whether it is done.
| Field | Type | Details | |
|---|---|---|---|
| Task ID | string | Required | 00T5f00000AbCdEEAV |
| Fields | string | Subject, Status, ActivityDate — leave blank for every field |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Tasks
crm/salesforce/task_get_all · Action
Find Salesforce tasks — everything due this week, everything still open for one rep, everything logged against a customer. Fill in the simple filters, or add your own for anything more involved.
| Field | Type | Details | |
|---|---|---|---|
| Fields To Return | string | Id, Subject, Status, ActivityDate — leave blank for the usual ones | |
| Status Is | string | Not Started | |
| Priority Is | string | High | |
| Assigned To | string | Salesforce user ID of the owner | |
| About Contact or Lead | string | Record ID of the person the task is about | |
| Related Record | string | Record ID of the account, opportunity or case | |
| Due On or After | datetime | Only tasks due from this day onwards | |
| Due On or Before | datetime | Only tasks due up to this day | |
| Filter Field | string | Any other field to filter on, e.g. Subject | |
| Filter Comparison | string | How to compare the field (defaults to Equals) — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Contains (use % as the wildcard), Does Not Contain (use % as the wildcard), Is One Of (comma-separated), Is Not One Of (comma-separated) | |
| Filter Value | string | Renewal call — for Contains use % as the wildcard (%renewal%); or a date shortcut like TODAY or LAST_N_DAYS:7 | |
| More Filters | object | [{"field":"IsClosed","operator":"=","value":"false"}] | |
| Match ANY filter instead of all | boolean | On, matching any one of the filters is enough. The Due On or After / Due On or Before dates always apply | |
| Sort By | string | ActivityDate ASC | |
| Limit | integer | 50 (max 2000) — ignored when Return All is on | |
| Return All (fetch every match) | boolean | ||
| Include Deleted and Archived Tasks | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Get Tasks On a Record
crm/salesforce/task_get_all_for_record · Action
List the tasks logged against one contact, lead, account, opportunity or case — open and completed alike. This is what a follow-up chaser needs: point it at the customer and get back everything outstanding.
| Field | Type | Details | |
|---|---|---|---|
| Record Type | string | Required | Contact, Lead, Account, Opportunity or Case |
| Record ID | string | Required | 0035f00000AbCdEEAV — the contact, account or deal the tasks are on |
| Fields To Return | string | Id, Subject, Status, ActivityDate — leave blank for the usual ones | |
| Limit | integer | 50 (max 2000) — ignored when Return All is on | |
| Return All (fetch every task on the record) | boolean |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Update Task
crm/salesforce/task_update · Action
Change an existing Salesforce task — hand it to someone else, move the due date, raise the priority or record how a call went. Anything left blank is left exactly as it is.
| Field | Type | Details | |
|---|---|---|---|
| Task ID | string | Required | 00T5f00000AbCdEEAV |
| Status | string | In Progress | |
| Subject | string | Call back about the quote | |
| Comments | text | Replaces whatever is on the task now | |
| Due Date | datetime | The day it is due — any time of day is ignored | |
| Priority | string | High | |
| Assigned To | string | Salesforce user ID of the new owner | |
| Contact or Lead | string | Record ID of the person this is about | |
| Related Record | string | Record ID of the account, opportunity or case | |
| Type | string | Call, Email, Meeting or Other | |
| Call Direction | string | Inbound, Outbound or Internal | |
| Call Result | string | Left voicemail | |
| Call Recording ID | string | The call's ID in your phone system | |
| Call Length (seconds) | integer | 180 | |
| Set a Reminder | boolean | ||
| Remind At | datetime | When Salesforce should nudge the owner | |
| Repeats How Often | string | RecursDaily, RecursWeekly, RecursMonthly or RecursYearly | |
| Repeat Every | integer | 2 with RecursWeekly means every other week | |
| Repeat On Days | string | Monday, Wednesday, Friday | |
| Repeat On Day of Month | integer | 15 | |
| Repeat On Which Week | string | First, Second, Third, Fourth or Last | |
| Repeat In Month | string | Only used by a yearly repeat — choices: January, February, March, April, May, June, July, August, September, October, November, December | |
| Repeat From | datetime | First day of the repeating series | |
| Repeat Until | datetime | Last day of the repeating series | |
| Regenerate After | string | RecurrenceRegenerateAfterDueDate | |
| Time Zone | string | Europe/London | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
Salesforce: Create or Update Task
crm/salesforce/task_upsert · Action
Create a task, or update the existing one that carries the same reference from your other system. Re-running the flow — or a webhook that fires twice — updates the same follow-up instead of piling up duplicates.
| Field | Type | Details | |
|---|---|---|---|
| Match On Field | string | Required | Booking_Reference__c — an External ID field on Task |
| Match On Value | string | Required | The reference this task has in your other system |
| Status | string | Not Started | |
| Subject | string | Call back about the quote | |
| Comments | text | Anything the person doing this needs to know | |
| Due Date | datetime | The day it is due — any time of day is ignored | |
| Priority | string | Normal | |
| Assigned To | string | Salesforce user ID of the person responsible | |
| Contact or Lead | string | Record ID of the person this is about | |
| Related Record | string | Record ID of the account, opportunity or case | |
| Type | string | Call, Email, Meeting or Other | |
| Call Direction | string | Inbound, Outbound or Internal | |
| Call Result | string | Left voicemail | |
| Call Length (seconds) | integer | 180 | |
| Set a Reminder | boolean | ||
| Remind At | datetime | When Salesforce should nudge the owner | |
| Additional Fields (JSON) | object | {"Custom_Field__c":"value"} |
Returns: id, result, tool_result, success, error
32User
Salesforce: Create User
crm/salesforce/user_create · Action
Set up a new starter's Salesforce login from an HR record — name, email, profile, role and manager. Needs the Manage Users permission and a spare user licence.
| Field | Type | Details | |
|---|---|---|---|
| Login Username | string | Required | jane.smith@yourcompany.com — looks like an email but is a login, and must be unique across all of Salesforce |
| Last Name | string | Required | Smith |
| First Name | string | Jane | |
| Email Address | string | Required | jane.smith@yourcompany.com — where their welcome and password emails go |
| Profile | string | Required | 00e5f000000AbCdAAK — the profile that decides what they can see and do |
| Alias | string | jsmith — up to 8 characters; built from their name if you leave this blank | |
| Role | string | 00E5f000000AbCdEAK — sets who can see their records (optional) | |
| Manager | string | 0055f00000AbCdEAAV — the user ID of their line manager (optional) | |
| Time Zone | string | Europe/London (used if left blank) | |
| Locale (date and number format) | string | en_GB (used if left blank) | |
| Language | string | en_US (used if left blank) — Salesforce has no en_GB language | |
| Email Encoding | string | UTF-8 (used if left blank) — choices: Unicode (UTF-8), General US & Western Europe (ISO-8859-1), Japanese (Shift-JIS), Japanese (JIS), Japanese (EUC), Korean (ks_c_5601-1987), Traditional Chinese (Big5), Simplified Chinese (GB2312), Traditional Chinese Hong Kong (Big5-HKSCS) | |
| Job Title | string | Account Manager | |
| Department | string | Sales | |
| Division | string | UK & Ireland | |
| Company Name | string | Acme Ltd | |
| Phone | string | +44 20 7946 0100 | |
| Mobile | string | +44 7700 900123 | |
| Employee Number | string | EMP-00421 — from your HR system | |
| Single Sign-On ID | string | jane.smith@yourcompany.com — only if your org signs in through SSO | |
| Nickname | string | jsmith — shown in Chatter; generated automatically if left blank | |
| Street | string | 1 High Street | |
| City | string | London | |
| County or State | string | California — must match your org's State list, if it uses one | |
| Postcode | string | SW1A 1AA | |
| Country | string | United Kingdom | |
| Login Active | boolean | On by default — turn off to create the account without letting them sign in yet | |
| Additional Fields | object | {"UserPermissionsMarketingUser":true,"Custom_Cost_Centre__c":"CC-100"} |
Returns: id, result, tool_result, success, error
Salesforce: Deactivate User
crm/salesforce/user_deactivate · Action
Switch off a leaver's Salesforce login and free up their licence. Salesforce users can never be deleted, only deactivated, and their records stay exactly where they are.
| Field | Type | Details | |
|---|---|---|---|
| User ID | string | Required | 0055f00000AbCdEAAV — every Salesforce user ID starts with 005 |
Returns: id, result, tool_result, success, error
Salesforce: Get User
crm/salesforce/user_get · Action
Look up one Salesforce user by their record ID — their name, email, job title, profile and whether their login is still active.
| Field | Type | Details | |
|---|---|---|---|
| User ID | string | Required | 0055f00000AbCdEAAV — every Salesforce user ID starts with 005 |
| Fields to Return | string | Leave blank for the usual ones, or list them: Name, Email, IsActive, Title |
Returns: id, result, tool_result, success, error
Salesforce: Get Many Users
crm/salesforce/user_get_all · Action
List the people in your Salesforce org, with optional filters such as active users only. Enable Return All to fetch every match.
| Field | Type | Details | |
|---|---|---|---|
| Fields to Return | string | Leave blank for the usual ones, or list them: Name, Email, IsActive, Title | |
| Active Users Only | boolean | Hide people whose Salesforce login has been switched off | |
| Filter On Field | string | Department — the field to filter by (optional) | |
| Filter Comparison | string | Equals — choices: Equals, Does Not Equal, Less Than, Less Than Or Equal To, Greater Than, Greater Than Or Equal To, Matches Pattern, Does Not Match Pattern, Is One Of, Is Not One Of | |
| Filter Value | string | Sales — for Matches Pattern use % as the wildcard (%sales%); for Is One Of, separate values with commas | |
| More Filters | object | [{"field":"Department","operator":"=","value":"Sales"},{"field":"Title","operator":"LIKE","value":"%Manager%"}] | |
| Match ANY filter instead of all | boolean | On, any one of your own filters is enough to match. Active Users Only still always applies | |
| Sort By | string | Name ASC — or LastLoginDate DESC | |
| Return All (fetch every match) | boolean | ||
| Limit | integer | 50 by default (max 2000); ignored when Return All is on |
Returns: results, count, total_size, next_url, result, tool_result, success, error
Salesforce: Get Current User
crm/salesforce/user_get_current · Action
Check the Salesforce connection and see who it is signed in as — the username, email, org and time zone the rest of your flow will run under.
Returns: id, result, tool_result, success, error
Salesforce: Update User
crm/salesforce/user_update · Action
Change a Salesforce user's profile, role, manager, job title or contact details. Only the fields you fill in are changed — the rest are left alone.
| Field | Type | Details | |
|---|---|---|---|
| User ID | string | Required | 0055f00000AbCdEAAV — every Salesforce user ID starts with 005 |
| Profile | string | 00e5f000000AbCdAAK — the profile that decides what they can see and do | |
| Role | string | 00E5f000000AbCdEAK — sets who can see their records | |
| Manager | string | 0055f00000AbCdEAAV — the user ID of their line manager | |
| First Name | string | Jane | |
| Last Name | string | Smith | |
| Email Address | string | jane.smith@yourcompany.com — Salesforce emails the new address to confirm the change | |
| Login Username | string | jane.smith@yourcompany.com — changing this changes how they sign in, and Salesforce sends a confirmation email | |
| Alias | string | jsmith — up to 8 characters | |
| Job Title | string | Senior Account Manager | |
| Department | string | Sales | |
| Division | string | UK & Ireland | |
| Company Name | string | Acme Ltd | |
| Phone | string | +44 20 7946 0100 | |
| Mobile | string | +44 7700 900123 | |
| Employee Number | string | EMP-00421 — from your HR system | |
| Single Sign-On ID | string | jane.smith@yourcompany.com — only if your org signs in through SSO | |
| Nickname | string | jsmith — shown in Chatter | |
| Time Zone | string | Europe/London | |
| Locale (date and number format) | string | en_GB | |
| Language | string | en_US — Salesforce has no en_GB language | |
| Street | string | 1 High Street | |
| City | string | London | |
| County or State | string | California — must match your org's State list, if it uses one | |
| Postcode | string | SW1A 1AA | |
| Country | string | United Kingdom | |
| Login Active | boolean | Turn on to restore a returning colleague's access; use Deactivate User for leavers | |
| Additional Fields | object | {"UserPermissionsMarketingUser":true,"Custom_Cost_Centre__c":"CC-100"} |
Returns: id, result, tool_result, success, error
33Triggers
Salesforce: Record Created or Updated
trigger/salesforce_poll · Trigger
Triggers a flow when a Salesforce record is created — or created or changed — on any object, including your own custom ones. Checks on an interval and only ever fires for records it has not already seen.
| Field | Type | Details | |
|---|---|---|---|
| Object To Watch | string | Required | Lead, Opportunity, or your own object |
| Fire When | string | Required | choices: A record is created, A record is created or changed |
| How Often To Check | string | 15m by default - every check spends one of your Salesforce API calls, so leave it as long as you can live with | |
| Fields To Fetch | string | Name, Email, Status - comma separated. Leave blank for the usual ones | |
| Only Records Matching | string | Status = 'Open' - a SOQL condition, no WHERE (optional) |
Returns: record, id, object, event, cursor, triggered_at