GoRunner docs
Search or askSearch⌘K

Salesforce

Create, find, update and delete Salesforce accounts, contacts, leads, opportunities, cases, tasks and records of any object, query with SOQL, search text, upload files and start flows.

69 actions · 1 trigger · Sign in with Salesforce

Connect Salesforce

  1. In the sidebar, open Connections and press Add connection.
  2. Type salesforce and choose Salesforce.
  3. Press Sign in with Salesforce, then choose your account in Salesforce’s window and allow access.

Before you sign in, the sheet asks:

Login host · Optional

Leave it empty (login) for a production or Developer Edition org, type test for a sandbox, or the org’s My Domain (acme.my.salesforce.com, acme--uat.sandbox.my.salesforce.com) when it blocks login and test.

For a sandbox, type test under Login host; for an org that only allows its own My Domain, type that (acme.my.salesforce.com). Where this installation has no Salesforce app, you sign in through an External Client App made in your own org: its consumer key and secret (OAuth scopes api and refresh_token, PKCE on, callback URL: this installation’s /api/oauth2/callback).

What if it says “Salesforce sign-in isn’t set up here”?

Signing in with Salesforce needs a Salesforce app on this installation, and it has none yet.

On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”

Self-hosted: An admin of the installation sees Set up Salesforce sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.

  1. Create an app in Salesforce’s developer settings (Salesforce’s guide).
  2. In GoRunner, copy the Redirect address to add in Salesforce’s developer settings, and add it to the app.
  3. Paste the Client ID and Client secret, then press Save and sign in.

Set up a sign-in app

Can I use my own Salesforce app?

Yes. In the sheet, open Use your own Salesforce app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.

Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.

Start a workflow

Add a trigger and choose Salesforce. The trigger uses the same connection as the steps.

On Record Created or Updated

Checks a Salesforce object about once a minute and starts a run for each record created, or changed, since the check before. The first check after publishing only takes note of what is there (it starts nothing); changing the trigger starts over the same way. Each check starts at most 200 runs, oldest first; the rest follow on the next checks. Updated counts every change Salesforce stamps, including ones it makes itself (a roll-up summary, a formula's source).

Object · Required

The object to watch (Account, Lead, Opportunity, a custom object …).

Default: Lead.

Trigger on · Required

Which records start a run: new ones, changed ones, or both.

Options: Record created, Record updated, Record created or updated.

Default: Record created.

Only Records Matching · Optional

Watch only the records these conditions keep, such as {"StageName": "Closed Won"} or [{"field": "Amount", "operator": ">", "value": 10000}]. Empty watches every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Fields · Optional

Field API names to include, comma-separated (such as Name, Email, Owner.Name). Empty includes every field.

A later step can use its data, such as {{trigger.CreatedDate}}, {{trigger.Id}}, {{trigger.LastModifiedDate}} and 4 more. See Use data from earlier steps.

Do things in Salesforce

Add a Salesforce step, choose a Resource, then an Operation. Choose a row to see its fields.

Later steps read a step’s output by its name: see Use data from earlier steps.

Limits

  • A reply from Salesforce can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
  • When Salesforce says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.

Not in your list? See When an app isn’t here.

For developers

In the API, which calls apps pieces, Salesforce is pieceId: "salesforce" with actionId: "salesforce", set by resource and an operation_… field, such as operation_account. Its trigger is salesforcetrigger / salesforce_record. Get an app returns every field.

It can change something outside the run (writes_external). See How versions and side effects work.

Salesforce › Account

Create

Account Name · Required

The account name (Name).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Account Name · Required

The account name (Name).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Account ID · Required

The account's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every account, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many accounts to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Account ID · Required

The account's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Account ID · Required

The account's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Add Note

Account ID · Required

The account's id (15 or 18 characters), or its link in Salesforce.

Title · Required

The note's title.

Body · Optional

The note's text.

Private · Optional

Only the owner and administrators see a private note.

Off by default.

Salesforce › Attachment

Create

Parent Record ID · Required

The record the file is attached to (an account, opportunity, case …), by id or link.

File · Required

Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). At most 28 MB.

File Name · Optional

The attachment's name. Empty uses the file's own name.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Attachment ID · Required

The attachment's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Download · Optional

Also read the file itself (at most 11 MB) into file.

Off by default.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every attachment, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many attachments to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Attachment ID · Required

The attachment's id (15 or 18 characters), or its link in Salesforce.

New File · Optional

Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). Empty keeps the current file. At most 28 MB.

File Name · Optional

The attachment's name. Empty uses the file's own name.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Attachment ID · Required

The attachment's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Salesforce › Case

Create

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Case ID · Required

The case's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every case, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many cases to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Case ID · Required

The case's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Case ID · Required

The case's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Add Comment

Case ID · Required

The case's id (15 or 18 characters), or its link in Salesforce.

Comment · Required

The comment's text.

Visible to Customers · Optional

Show the comment in the customer portal.

Off by default.

Salesforce › Contact

Create

Last Name · Required

The last name (LastName).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Last Name · Required

The last name (LastName).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Contact ID · Required

The contact's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every contact, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many contacts to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Contact ID · Required

The contact's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Contact ID · Required

The contact's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Add to Campaign

Contact ID · Required

The contact's id (15 or 18 characters), or its link in Salesforce.

Campaign · Required

The campaign to add the contact to.

Member Status · Optional

The campaign member status (such as Sent, Responded). Empty uses the campaign's default.

Add Note

Contact ID · Required

The contact's id (15 or 18 characters), or its link in Salesforce.

Title · Required

The note's title.

Body · Optional

The note's text.

Private · Optional

Only the owner and administrators see a private note.

Off by default.

Salesforce › Any Object

Create

Object · Required

The object, standard or custom (such as Invoice__c).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

Object · Required

The object, standard or custom (such as Invoice__c).

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Object · Required

The object, standard or custom (such as Invoice__c).

Record ID · Required

The record's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Object · Required

The object, standard or custom (such as Invoice__c).

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every record, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many records to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Object · Required

The object, standard or custom (such as Invoice__c).

Record ID · Required

The record's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Object · Required

The object, standard or custom (such as Invoice__c).

Record ID · Required

The record's id (15 or 18 characters), or its link in Salesforce.

Get Fields

Object · Required

The object, standard or custom (such as Invoice__c).

Salesforce › File (Document)

Upload

Title · Required

The file's title in Salesforce.

File · Required

Upload a file, or switch to an expression to use one from an earlier step (such as {{steps.download.result}}). At most 28 MB.

Share With Record · Optional

A record (or library, or user) to share the file with, by id or link. Empty keeps it in the uploader's files.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Salesforce › Flow

Get Many

Return All · Optional

Read every flow, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many flows to return (1–2000).

Default: 50.

Shows when Return All is off.

Start

Flow · Required

The autolaunched flow to start.

Input Variables · Optional

The flow's input variables by API name, such as {"recordId": "001Hn00001xYzAbIAK", "amount": 250}.

Salesforce › Lead

Create

Company · Required

The company (Company).

Last Name · Required

The last name (LastName).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Company · Required

The company (Company).

Last Name · Required

The last name (LastName).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Lead ID · Required

The lead's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every lead, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many leads to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Lead ID · Required

The lead's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Lead ID · Required

The lead's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Add to Campaign

Lead ID · Required

The lead's id (15 or 18 characters), or its link in Salesforce.

Campaign · Required

The campaign to add the lead to.

Member Status · Optional

The campaign member status (such as Sent, Responded). Empty uses the campaign's default.

Add Note

Lead ID · Required

The lead's id (15 or 18 characters), or its link in Salesforce.

Title · Required

The note's title.

Body · Optional

The note's text.

Private · Optional

Only the owner and administrators see a private note.

Off by default.

Salesforce › Opportunity

Create

Opportunity Name · Required

The opportunity name (Name).

Close Date · Required

The close date (YYYY-MM-DD).

Stage · Required

The stage (StageName).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Opportunity Name · Required

The opportunity name (Name).

Close Date · Required

The close date (YYYY-MM-DD).

Stage · Required

The stage (StageName).

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Opportunity ID · Required

The opportunity's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every opportunity, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many opportunitys to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Opportunity ID · Required

The opportunity's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Opportunity ID · Required

The opportunity's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Add Note

Opportunity ID · Required

The opportunity's id (15 or 18 characters), or its link in Salesforce.

Title · Required

The note's title.

Body · Optional

The note's text.

Private · Optional

Only the owner and administrators see a private note.

Off by default.

Salesforce › Task

Create

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Create or Update (Upsert)

External ID Field · Required

The field that identifies the record: an External ID field, or Id. A record with this value is updated; none is created.

External ID Value · Required

The value to look the record up by.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Get

Task ID · Required

The task's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every task, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many tasks to return (1–2000).

Default: 50.

Shows when Return All is off.

Update

Task ID · Required

The task's id (15 or 18 characters), or its link in Salesforce.

Fields · Optional

Field values by API name, such as {"Phone": "+1 415 555 0100", "Industry": "Energy", "Region__c": "EMEA"}.

Delete

Task ID · Required

The task's id (15 or 18 characters), or its link in Salesforce.

Get Summary

Nothing to fill in.

Salesforce › User

Get

User ID · Required

The user's id (15 or 18 characters), or its link in Salesforce.

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Get Many

Fields to Return · Optional

Field API names, comma-separated (such as Id, Name, Owner.Name). Empty returns every field.

Conditions · Optional

Only records matching these, such as {"Industry": "Energy"} or [{"field": "AnnualRevenue", "operator": ">", "value": 1000000}]. Empty reads every record.

Match · Optional

Whether a record must match every condition or any one.

Options: All conditions, Any condition.

Default: All conditions.

Sort · Optional

Field API names to sort by, each optionally followed by ASC or DESC, such as CreatedDate DESC.

Return All · Optional

Read every user, page by page (at most 2000; past that the step fails rather than stop early).

Off by default.

Limit · Optional

How many users to return (1–2000).

Default: 50.

Shows when Return All is off.