ACTION_ID: salesforce_update_record NAME: Salesforce: Update a Record CATEGORY: CRM CREDITS: 0 Update a record in Salesforce. PREREQUISITE: Salesforce org connection — the user must create it in the Floqer UI (Connections page); an agent cannot. Without it the action fails the row with a connection / authentication error. Confirm it exists before configuring. 1. INPUTS record_id (string, required) Record Id. Enter record ID to update. salesforce_object (dropdown, required) Salesforce Object. Choose the SalesForce Object. add_fields_and_their_values (jsonArray, required) Add Fields and their Values. Select Fields from the object and add Values. ignore_empty_values (radio, optional) Ignore empty values. Default ON. If ON, empty Floqer fields won't replace existing values in Salesforce. If OFF, they will overwrite. run_salesforce_assignment_rules (radio, optional) Run Salesforce assignment rules. Default ON. 2. OUTPUTS record_id (string) — Record ID. Record ID of the record being updated. account_url (url) — Account URL. Salesforce Account URL. Placeholder: "https://test.my.salesforce.com". 3. HOW TO CONFIGURE Resolve dynamic field values via Get Action Field Options before configuring: POST /api/v1/workflows/{workflow_id}/sheets/{sheet_id}/actions/{action_instance_id}/options/salesforce_object (body: {}) POST .../options/add_fields_and_their_values (body: { "context": { "salesforce_object": "Contact" } }) Configure Action body: { "inputs": { "record_id": "{{salesforce_lookup_record_1.record_id}}", "salesforce_object": "Contact", "add_fields_and_their_values": [ { "name": "Title", "value": "{{input.title}}" }, { "name": "Phone", "value": "{{input.phone}}" } ], "ignore_empty_values": true, "run_salesforce_assignment_rules": true } } Field-by-field: - record_id Salesforce ID of the record to update — usually a `{{ref}}` to an upstream `salesforce_lookup_record` output. - salesforce_object Object name from the `salesforce_object` options call. - add_fields_and_their_values `[{name, value}]` — `name` is the Salesforce field's API name; `value` accepts `{{ref}}` tokens or literals. - ignore_empty_values Default `true`. Empty Floqer fields don't overwrite existing values. - run_salesforce_assignment_rules Default `true`. Set `false` to skip Lead/Account/Case assignment rules. 4. KEY NOTES - Updates by Salesforce record ID. Pair with `salesforce_lookup_record` upstream when the ID is not already known on the row. - The Salesforce connection must live on the API key's user account. If the connection lives under a different team member, Get Action Field Options returns a 424. - Token refresh is automatic on transient `INVALID_SESSION_ID`; one retry, then 502. - For create-or-update by external ID (no prior lookup needed), prefer `salesforce_upsert_record`. 5. WHERE IT FITS IN A WORKFLOW Pattern: salesforce_lookup_record -> workflow_if_else (found) -> salesforce_update_record. 6. WHEN TO USE Use salesforce_update_record to update an existing Salesforce record by ID. 7. WHEN NOT TO USE Need create-or-update on an external ID -> action-detail/salesforce_upsert_record.txt Need to create a new record -> action-detail/salesforce_create_record.txt Need to find a record (no ID yet) -> action-detail/salesforce_lookup_record.txt Last updated: 2026-04-28.