Connecting Salesforce to Callers

1

Open App Center and select Salesforce

  • Choose your environment (Production/Development)
  • Click Connect
salesforce connect

Select Salesforce and click Connect

2

Authorize in Salesforce

  • Sign in to your Salesforce account and grant access
salesforce login

Salesforce login and consent

3

Finish and verify

  • Return to Callers and ensure the connection shows as Connected

Available Actions


Executes a SOQL query and returns matching records.
Creates a new record (e.g., Lead, Contact) using fields from the Data JSON.
Updates an existing record by Id.
Creates or updates a record using an external key (External Id).
Bulk create/update for an array of records.
Call any supported Salesforce REST endpoint with a custom request body.

Create Object (Advanced)

  • When to use: creating a new record in the selected object.
  • Required fields:
    • Object — target object (e.g., Contact)
    • Data — JSON with object fields
  • Sample Data:
{
  "LastName": "{{ lastName }}",
  "FirstName": "{{ firstName }}",
  "Email": "{{ email }}",
  "AccountId": "001XXXXXXXXXXXX"
}
salesforce create object

Create Object — example configuration

Use Salesforce API field names, such as LastName, FirstName.
For exact object and field API names (and allowed values), refer to the official Salesforce Object Reference: Salesforce Standard Objects and Fields.

Update Object (Advanced)

  • When to use: modify fields on an existing record by its Id.
  • Required fields:
    • Object — target object (e.g., Account)
    • Id — record Id (e.g., 001XXXXXXXXXXXX)
    • Data — JSON with fields to update
  • Sample Data:
{
  "Name": "{{ accountName }}",
  "Website": "{{ website }}"
}
salesforce update object

Update Object — example configuration


Upsert (Advanced)

  • When to use: idempotent create/update by an external key.
  • Required fields:
    • Object — target object (e.g., Lead)
    • External Id Field — external key field name (e.g., External_Id__c)
    • Data — JSON with record data
  • Sample Data:
{
  "External_Id__c": "{{ leadExternalId }}",
  "Company": "{{ company }}",
  "LastName": "{{ lastName }}",
  "Email": "{{ email }}"
}

salesforce upsert insert

Upsert — created new record (insert)

salesforce upsert update

Upsert — updated existing record


Run Query (Advanced)

  • When to use: fetch records using SOQL.
  • Required fields:
    • SOQL Query — query string
  • Sample SOQL:
SELECT Id, FirstName, LastName, Email FROM Contact WHERE Email = '{{ email }}'

salesforce run query

Run Query — example configuration


Custom API Call

  • When to use: you need an endpoint not covered by built‑in actions.
  • Parameters: Method, Endpoint, Headers, Body (JSON)
  • Sample Body:
{
  "Name": "{{ accountName }}",
  "Website": "{{ website }}"
}
Ensure required API permissions are enabled and you are using the correct REST API version.
salesforce custom api

Custom API Call — example configuration


Using Variables

You can inject scenario/transcript variables into action fields. Make sure:
  • Variables are defined in previous steps
  • Value types match Salesforce fields (Email, Phone, Date/Time, etc.)
  • Numeric/boolean fields receive properly typed values