CONNECT APP
Build with Salesforce
CRM
- OAuth
MCP
Give your agent Salesforce tools
Every Salesforce action is exposed as an MCP tool on Pipedream's remote server. Point a client at it with your end user's ID and Connect resolves that user's Salesforce account for each tool call — you store no tokens.
// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "salesforce_rest_api",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// e.g. run Add Contact to Campaign:
const result = await mcp.callTool({
name: "salesforce_rest_api-add-contact-to-campaign",
arguments: {
campaignId: "Campaign ID",
contactId: "Contact ID",
},
})# access_token: mint a short-lived token with the Connect SDK — see the MCP guide
headers = {
"Authorization": f"Bearer {access_token}",
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", # any stable ID for this user in your system
"x-pd-app-slug": "salesforce_rest_api",
}
async with streamablehttp_client("https://remote.mcp.pipedream.net/v3", headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
# e.g. run Add Contact to Campaign:
result = await session.call_tool("salesforce_rest_api-add-contact-to-campaign", {
"campaignId": "Campaign ID",
"contactId": "Contact ID",
})API PROXY
Call the Salesforce API directly
For an endpoint with no pre-built tool, the Connect proxy forwards your request to the Salesforce API with the connected user's credentials attached. You store no tokens and write no refresh logic.
const resp = await pd.proxy.get({
externalUserId: "{external_user_id}", // any stable ID for this user in your system
accountId: "apn_xxxxxxx",
url: "https://api.example.com/v1/me",
})
// Any allowed Salesforce endpoint works here. Pipedream attaches the
// connected account's credentials to the outgoing request.# The path segment is the target URL, URL-safe base64 encoded:
# https://api.example.com/v1/me
curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdjEvbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
-H "Authorization: Bearer {access_token}" \
-H "x-pd-environment: production"SDK
Run Salesforce actions from your backend
Connect a user's Salesforce account once, then run Add Contact to Campaign on their behalf from your own code — TypeScript, Python, or plain HTTP.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "salesforce_rest_api-add-contact-to-campaign",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
salesforce_rest_api: { authProvisionId: "apn_xxxxxxx" },
campaignId: "Campaign ID",
contactId: "Contact ID",
},
})from pipedream import Pipedream
pd = Pipedream(
client_id="{oauth_client_id}",
client_secret="{oauth_client_secret}",
project_id="{project_id}",
project_environment="production",
)
result = pd.actions.run(
id="salesforce_rest_api-add-contact-to-campaign",
external_user_id="{external_user_id}", # any stable ID for this user in your system
configured_props={
"salesforce_rest_api": {"authProvisionId": "apn_xxxxxxx"},
"campaignId": "Campaign ID",
"contactId": "Contact ID",
},
)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "salesforce_rest_api-add-contact-to-campaign",
"configured_props": {
"salesforce_rest_api": { "authProvisionId": "apn_xxxxxxx" },
"campaignId": "Campaign ID",
"contactId": "Contact ID"
}
}'TOOLS
Salesforce actions
On-demand operations your product or agent can configure and run on behalf of a connected user.
-
Add Contact to Campaign
actionAdd an existing contact to an existing campaign as a campaign member. Use Find Records onContactand onCampaignto look up the two IDs first. The contact must already exist - use Create Contact if it does not. See the documentationWritev0.1.9 -
Add Lead to Campaign
actionAdd an existing lead to an existing campaign as a campaign member. Use Find Records onLeadand onCampaignto look up the two IDs first. The lead must already exist - use Create Lead if it does not. See the documentationWritev0.1.9 -
Convert SOAP XML Object to JSON
actionConvert a SOAP XML payload received from Salesforce into JSON. Use this on the raw body delivered by an outbound-message trigger; it makes no API call. Every other Salesforce action already returns JSON, so this is only needed for outbound-message workflows. See the documentationRead-onlyv0.0.13 -
Create Account
actionCreate a Salesforce account (a company or organization record). Use Describe Object onAccountto discover which fields your org requires before calling. For example,NameAcme Corpcreates a minimal account and returns its new record ID. See the documentationWritev0.4.1 -
Create Accounts (Batch)
actionCreate many Salesforce accounts in one job using Bulk API 2.0. Use this instead of Create Account when inserting more than roughly 200 records - it is asynchronous and returns a job ID, not the created records. Poll the job in Salesforce to confirm completion; a successful response means the job was accepted, not that every row loaded. Input is a CSV file - supply a path under/tmpor a URL to download it from, with a header row of Salesforce field API names. See the documentationWritev0.0.8 -
Create Attachment
actionAttach a file to an existing Salesforce record (classicAttachmentobject). Use Find Records to get the parent record ID first. For newer orgs prefer Salesforce Files - use Insert Blob Data withContentVersioninstead. See the documentationWritev0.6.1 -
Create Campaign
actionCreate a Salesforce marketing campaign. Use Add Contact to Campaign or Add Lead to Campaign afterwards to populate its members. For example,Name: "Summer 2026 Webinar"creates the campaign and returns its ID. See the documentationWritev0.3.9 -
Create Case
actionCreate a Salesforce support case (a customer issue or request). Use List Cases to check whether a matching case already exists before creating a duplicate. After creating, use Create Case Comment to add notes or List Case Feed Items to read its activity. See the documentationWritev1.0.1 -
Create Case Comment
actionAdd a comment to an existing Salesforce case. Use List Cases to find the case ID, and List Case Comments to read the existing thread first. Comments are visible in the case feed - List Case Feed Items shows them asCaseCommentPostentries. See the documentationWritev0.3.9 -
Create Contact
actionCreate a Salesforce contact (a person associated with an account). Use Find Records onAccountto get theAccountIdthat links this contact to a company. Use Describe Object onContactto discover which fields your org requires. See the documentationWritev0.3.9 -
Create Content Note
actionCreate an enhanced Salesforce content note (rich text, stored in Salesforce Files). Use this rather than Create Note on modern orgs; Create Note writes the classic plain-text note object. Use Update Content Note to edit one afterwards. Notes must be enabled in the org first - see Set Up Notes. See the documentationWritev1.0.1 -
Create CRM Record
actionCreate a new Salesforce record of any object type. Use Describe Object first if you're unsure what fields are available or required. For picklist fields, use the API value from Describe Object, not the display label.
Common required fields:
- Account:
Name - Contact:
LastName - Lead:
LastName,Company - Opportunity:
Name,StageName,CloseDate - Case:
Subject - Task:
Subject - Event:
Subject,StartDateTime,EndDateTime
To add a Contact/Lead to a Campaign, create a CampaignMember:
{"CampaignId": "701xxx", "ContactId": "003xxx"}or{"CampaignId": "701xxx", "LeadId": "00Qxxx"}. See the documentationWritev0.0.4 - Account:
-
Create Event
actionCreate a Salesforce calendar event (a meeting or appointment with a start and end time). Use Create Task instead for to-do items with no scheduled time. Use Find Records to get theWhoId(contact or lead) andWhatId(related record) you want to link. See the documentationWritev0.4.1 -
Create Lead
actionCreate a Salesforce lead (an unqualified prospect not yet linked to an account). Use Create Contact instead when the person already belongs to a known account. Use Add Lead to Campaign afterwards to attribute the lead to a campaign. See the documentationWritev0.4.1 -
Create Note
actionCreate a classic Salesforce note (up to 32 KB of plain text) attached to a parent record. Prefer Create Content Note on modern orgs - classic notes are legacy and do not support rich text. Use Find Records to get the parent record ID first. See the documentationWritev0.3.10 -
Create Opportunities (Batch)
actionCreate many Salesforce opportunities in one job using Bulk API 2.0. Use this instead of Create Opportunity when inserting more than roughly 200 records - it is asynchronous and returns a job ID, not the created records. Every row needsName,StageNameandCloseDate. Input is a CSV file - supply a path under/tmpor a URL to download it from, with a header row of Salesforce field API names. Poll the job in Salesforce to confirm completion; a successful response means the job was accepted, not that every row loaded. See the documentationWritev0.0.8 -
Create Opportunity
actionCreate a Salesforce opportunity (a potential deal with an amount and close date). RequiresName,StageNameandCloseDate- use Describe Object onOpportunityto list the validStageNamevalues for your org. Use Find Records onAccountto get theAccountIdto attach the deal to. See the documentationWritev0.4.1 -
Create Record
actionCreate a Salesforce record of any object type. Use List Objects to discover object types and Describe Object to discover fields. See the documentationWritev1.0.1 -
Create Task
actionCreate a Salesforce task (a to-do item with a due date, no specific time). Use Create Event instead for scheduled meetings with a start and end time. Use Find Records to get theWhoId(contact or lead) andWhatId(related record) to link the task to. See the documentationWritev1.0.1 -
Create User
actionCreate a Salesforce user (a login for a person in your org). Requires an available user license and a uniqueUsernamein email form; theUsernamemust be globally unique across all Salesforce orgs. Use Get User or Find Records onUserto check whether the person already has an account. See the documentationWritev0.1.9 -
Delete CRM Record
actionDelete a Salesforce record. This moves it to the Recycle Bin, where it stays recoverable for up to 15 days - storage limits can purge it sooner. Use SOQL Query to find the record ID if you only have the record name. See the documentationWritev0.0.4 -
Delete Note Or Content Note
actionDelete a note or content note from a Salesforce record. This moves the note to the Recycle Bin, where it stays recoverable for up to 15 days - storage limits can purge it sooner. Use Find Records onNoteorContentNoteto get the ID first. See the documentationWritev0.0.5 -
Delete Opportunity
actionDelete a Salesforce opportunity. This moves the record to the Recycle Bin, where it stays recoverable for up to 15 days - storage limits can purge it sooner. Use Find Records onOpportunityto get the ID first, and prefer Update Opportunity to set a Closed Lost stage when you want to keep the history. See the documentationWritev0.3.7 -
Delete Record
actionDelete a Salesforce record of any object type. This moves the record to the Recycle Bin, where it stays recoverable for up to 15 days - storage limits can purge it sooner. Use Find Records or SOQL Query to confirm you have the right record ID before deleting. See the documentationWritev0.2.7 -
Describe Object
actionGet field metadata for a Salesforce object type, including field names, types, required status, and picklist values. Use before Create Record or Update Record to discover available fields and valid picklist values. For picklist fields (likeStageNameon Opportunity,Statuson Case), this returns all valid values — use the API value, not the display label. Use thefieldsFilterparameter to narrow results — full object descriptions can be very large (100+ fields). Use List Objects if you're unsure of the object's API name. See the documentationRead-onlyv0.0.4 -
Find Records
actionRetrieve selected fields for records of any Salesforce object, either specific records by ID or the most recent ones. Use this as the general-purpose record reader when no object-specific action fits - prefer List Cases for cases or Get Record by ID for a single known record. Use List Objects to discover object types and List Object Fields to discover field names. For example,SObject TypeAccountwithFields to ObtainId, NameandLimit25returns the 25 most recently created accounts. LeavingRecord ID(s)empty returns recent records, not every record - Salesforce sends one batch, so setLimitand use SOQL Query when you need everything. Newest-first ordering needsCreatedDate, so results are unordered on the few object types that lack it. See the documentationRead-onlyv0.3.3 -
Get Case
actionRetrieve one Salesforce case by its record ID. Use List Cases to find the ID first, or when you want to search cases rather than fetch a known one. Use List Case Feed Items and List Case Comments to read the case's activity and comment thread. See the documentationRead-onlyv0.0.8 -
Get Current User
actionReturns the authenticated Salesforce user's ID, name, email, and organization ID. Call this first when the user says 'my leads', 'my opportunities', 'my cases', or any first-person query. Useuser_idas the OwnerId filter in SOQL Search (e.g.WHERE OwnerId = '{user_id}') andorganization_idto construct Salesforce UI URLs. See the documentation.Read-onlyv0.0.4 -
Get Knowledge Articles
actionRetrieve a page of online Knowledge articles for a language and data category, by search or query. Use List Knowledge Data Category Groups to discover valid category values first, and List Knowledge Articles to browse article records instead. Returns published article content, so responses can be large - narrow by category or search term. See the documentationRead-onlyv0.0.6 -
Get Knowledge Data Category Groups
actionList the Knowledge data category groups visible to the current user. Call this before Get Knowledge Articles to discover the valid category group and category names to filter by. Returns only categories the authenticated user can see, so results vary per user. See the documentationRead-onlyv0.0.6 -
Get Record by ID
actionRetrieve one Salesforce record of any object type by its record ID. Use Find Records to look up records by criteria, or SOQL Query when you need related fields or a filtered set. Use List Objects to discover object types if you are unsure of the type name. See the documentationRead-onlyv0.0.5 -
Get Related Records
actionGet child records related to a parent Salesforce record via a relationship. Use to traverse relationships without writing SOQL joins. Common relationships: Account → Contacts, Opportunities, Cases, Tasks; Contact → Cases, Opportunities, Tasks; Opportunity → OpportunityLineItems, Tasks. Use Describe Object to discover available relationship names if unsure (look forrelationshipNameon reference fields). See the documentationRead-onlyv0.0.4 -
Get User
actionRetrieve one Salesforce user by their record ID. Use Get Current User for the authenticated user instead of looking up an ID. Record owner fields such asOwnerIdhold user IDs - pass one here to resolve it to a name and email. See the documentationRead-onlyv0.0.8 -
Get User Info
actionGet the current authenticated Salesforce user's identity, including user ID, email, org ID, and instance URL. Must be called before any query that uses first-person language ('my', 'I', 'me'). TheuserIdcan be used as anOwnerIdfilter in SOQL queries (e.g.WHERE OwnerId = '{userId}'). TheinstanceUrlis needed to construct clickable links to Salesforce records:{instanceUrl}/lightning/r/{objectType}/{recordId}/view. See the documentationRead-onlyv0.0.4 -
Insert Blob Data
actionUpload binary file data to a Salesforce object such asContentVersionorAttachment. Use this for Salesforce Files (ContentVersion); use Create Attachment only for the legacy attachment object. The file content must be supplied as a file path or URL, not as raw bytes in the request. See the documentationWritev0.2.15 -
List Case Comments
actionList the comments on a Salesforce case, newest first. Use this for the case's comment thread only - use List Case Feed Items for the full activity trail (status changes, logged calls, emails) or List Email Messages for emails on the case. Find the case ID with List Cases first. For example, case ID5005g00001ABCDeAAIwithLimit20returns that case's twenty most recent comments. See the documentationRead-onlyv0.1.3 -
List Case Feed Items
actionList the feed (Chatter) entries on a case, newest first. Use this to read a case's activity trail - text posts, status changes, logged calls, email events and case comment events - in one call. The case feed only exists when feed tracking is enabled for Cases in the Salesforce org, so an org without it returns no records. See the documentationRead-onlyv0.0.4 -
List Cases
actionList Salesforce support cases, newest first. Use this to find a case and its ID. Every filter is optional and they combine with AND - call with no filters to see the most recent cases. For example,StatusNewwithLimit10returns the ten newest open cases. Status values are org-configurable. See the documentationRead-onlyv0.0.4 -
List Email Messages
actionList Salesforce email messages, newest first, optionally scoped to one case. Returns the full email records including subject and body - use List Case Feed Items instead if you only need to know that an email happened. Find the case ID with List Cases first. OmitCase IDto list the most recent emails across the org, which can be large - setLimit. See the documentationRead-onlyv0.1.3 -
List Email Templates
actionList Salesforce email templates, newest first. Use this to find a template and its ID before sending with Send Email, or before editing with Update Email Template. For example, run withLimit50, then pass theIdof the template you want to Send Email. See the documentationRead-onlyv0.1.3 -
List Knowledge Articles
actionList Salesforce Knowledge articles, newest first. Returns the article container records (KnowledgeArticle), not the published article bodies - use Get Knowledge Articles to read article content, and List Knowledge Data Category Groups to discover the categories articles are filed under. This can return a lot of records on a mature org, so setLimit. See the documentationRead-onlyv0.1.3 -
List Object Fields
actionList the field names for a Salesforce object type. Use this to discover valid field names before calling Find Records, SOQL Query or any create/update action. Use Describe Object instead when you also need field types, required flags and picklist values. See the documentationRead-onlyv0.0.5 -
List Objects
actionList available Salesforce object types (SObjects) in the org. Use when the user references an object type you're not sure about, or to discover custom objects. Custom objects end in__c. Standard CRM objects: Account, Contact, Lead, Opportunity, Case, Task, Event, Campaign, User. Use Describe Object to get field details for a specific object type. See the documentationRead-onlyv0.0.4 -
Post a Message to Chatter Feed
actionPost a Chatter message to a Salesforce record's feed. Use List Case Feed Items to read a case feed, or Create Case Comment to add a case comment instead of a Chatter post. The message is built from segments - a plain string becomes text, and{ "type": "Mention", "username": "jsmith" }mentions a user. See the documentationWritev0.1.7 -
Search Object Records
actionSearch for records of one object type using a parameterized SOSL search. Use Text Search to search across several object types at once, or SOQL Query for exact field filters. SOSL matches indexed text fields, so it finds partial words but will not filter on numeric or date criteria. See the documentationRead-onlyv0.0.11 -
Send Email
actionSend an email through Salesforce. Use List Email Templates to find a template ID first when sending templated mail. Sent mail is logged against the related record - use List Email Messages to read it back. See the documentationWritev0.2.0 -
SOQL Query
actionExecute a SOQL query against Salesforce. This is the primary tool for querying Salesforce data — use for all structured queries. For free-text search across multiple objects, use Text Search instead.
When the user uses first-person language ('my', 'I', 'me'), filter by
OwnerIdusing theuserIdfrom Get User Info. Use Describe Object to discover field names and picklist values before querying non-obvious fields.SOQL syntax reference:
- Basic:
SELECT Id, Name, Email FROM Contact WHERE AccountId = '001xxx' - Operators:
=,!=,>,<,>=,<=,LIKE '%text%',IN ('a','b'),NOT IN - Date literals:
TODAY,THIS_MONTH,LAST_N_DAYS:30,THIS_QUARTER,LAST_QUARTER,THIS_YEAR - NULL checks:
WHERE Email != null - Aggregates:
SELECT StageName, COUNT(Id) c, SUM(Amount) s FROM Opportunity GROUP BY StageName - SOQL does NOT support the
ASkeyword — writeCOUNT(Id) c, notCOUNT(Id) AS c - Reserved words cannot be aliases —
count,sum,avgare reserved. Use short aliases likec,s,a - Cannot ORDER BY alias — repeat the aggregate:
ORDER BY COUNT(Id) DESC, notORDER BY c DESC - Parent relationship:
SELECT Name, Account.Name FROM Contact - Child subquery:
SELECT Name, (SELECT Name FROM Contacts) FROM Account - Sorting/limits:
ORDER BY CreatedDate DESC LIMIT 10
Always include
Idin SELECT. Include a clickable Salesforce link for every record using the format{instanceUrl}/lightning/r/{objectType}/{Id}/view(getinstanceUrlfrom Get User Info). See the documentationRead-onlyv0.0.4 - Basic:
-
SOQL Query (Object Query)
actionRun a SOQL query with guided prompts for the object, fields and filter. Prefer SOQL Query for agent and API use - it accepts a complete query string and pages through every result, while this action returns only the first batch. SOQL filters on exact field values; use Text Search for keyword search. See the documentationRead-onlyv0.2.16 -
SOSL Search (Object Search)
actionRun a SOSL text search with guided prompts. Prefer Text Search for agent and API use - it takes a plain keyword and searches several object types at once. SOSL matches indexed text fields, so it finds partial words but will not filter on numeric or date criteria. See the documentationRead-onlyv0.2.15 -
Text Search
actionSearch Salesforce records by keyword across multiple object types simultaneously. Use for free-text search when the user mentions a name, term, or keyword without specifying an object type. Use SOQL Query instead for structured queries on a single object type with specific conditions. Results are grouped by object type. See the documentationRead-onlyv0.0.4 -
Update Account
actionUpdate fields on an existing Salesforce account. Only the fields you supply change; everything else is left as-is. Use Find Records onAccountto get the record ID first. See the documentationWritev0.4.1 -
Update Accounts (Batch)
actionUpdate many Salesforce accounts in one job using Bulk API 2.0. Use this instead of Update Account when updating more than roughly 200 records - it is asynchronous and returns a job ID, not the updated records. Every row must include the recordIdof the account to update. Input is a CSV file - supply a path under/tmpor a URL to download it from, with a header row of Salesforce field API names. Poll the job in Salesforce to confirm completion; a successful response means the job was accepted, not that every row loaded. See the documentationWritev0.0.8 -
Update Contact
actionUpdate fields on an existing Salesforce contact. Only the fields you supply change; everything else is left as-is. Use Find Records onContactto get the record ID first. See the documentationWritev0.4.1 -
Update Content Note
actionUpdate an enhanced Salesforce content note (rich text, stored in Salesforce Files). Use Update Note instead for classic plain-text notes - the two are different objects. SupplyingContentreplaces the note body outright rather than appending to it. Notes must be enabled in the org first - see Set Up Notes. See the documentationWritev1.0.1 -
Update CRM Record
actionUpdate an existing Salesforce record. Only pass fields you want to change — unspecified fields remain unchanged. Use Describe Object for valid field names and picklist values. Use SOQL Query to find the record ID if you only have the name. See the documentationWritev0.0.4 -
Update Email Template
actionUpdate an existing Salesforce email template. Use List Email Templates to find the template ID first. Only the fields you supply change; everything else is left as-is. See the documentationWritev1.0.1 -
Update Note
actionUpdate a classic Salesforce note (up to 32 KB of plain text). Use Update Content Note instead for enhanced rich-text notes - the two are different objects. SupplyingBodyreplaces the note text outright rather than appending to it. See the documentationWritev0.1.1 -
Update Opportunities (Batch)
actionUpdate many Salesforce opportunities in one job using Bulk API 2.0. Use this instead of Update Opportunity when updating more than roughly 200 records - it is asynchronous and returns a job ID, not the updated records. Every row must include the recordIdof the opportunity to update. Input is a CSV file - supply a path under/tmpor a URL to download it from, with a header row of Salesforce field API names. Poll the job in Salesforce to confirm completion; a successful response means the job was accepted, not that every row loaded. See the documentationWritev0.0.8 -
Update Opportunity
actionUpdate fields on an existing Salesforce opportunity, such as moving it to a new stage. Use Describe Object onOpportunityto list the validStageNamevalues for your org. Only the fields you supply change; everything else is left as-is. See the documentationWritev0.4.1 -
Update Record
actionUpdate a Salesforce record of any object type. Only the fields you supply change; everything else is left as-is. See the documentationWritev1.0.1 -
Upsert Record
actionCreate a Salesforce record, or update it if a matching one already exists, matched on an external ID field. The object must have an external ID field defined - use Describe Object to find one before calling. Use Create CRM Record or Update CRM Record when you already know whether the record exists. See the documentationWritev1.0.1
EVENTS
Salesforce triggers
Event sources your backend can deploy for users and receive through a webhook.
-
Case Updated (Instant, of Selectable Type)
triggerEmit new event when a case is updated. See the documentationv0.0.13 -
Email Template Updated (Instant, of Selectable Type)
triggerEmit new event when an email template is updated. See the documentationv0.0.13 -
Knowledge Article Updated (Instant, of Selectable Type)
triggerEmit new event when a knowledge article is updated. See the documentationv0.0.13 -
New Case (Instant, of Selectable Type)
triggerEmit new event when a case is created. See the documentationv0.0.13 -
New Chatter Feed Comment (Instant or Polling)
triggerEmit new events for each Chatter FeedComment (reply) created in Salesforce, pollingFeedCommentvia SOQL onCreatedDate. Use this to react to comments on Chatter posts, since Chatter activity does not update the parent record'sLastModifiedDate. The payload includes bothParentId(a polymorphic reference to the feed's parent - either a record feed, e.g. a Case ID starting with500, or a User feed) andFeedItemId(the ID of the FeedItem the comment belongs to) - these are distinct fields; do not confuse them. SetparentObjectTypeto a parent object API name (e.g.Case) to only emit comments whose parent record is of that type. SetexcludeSelftotrueto drop comments authored by the connected integration user. Note: querying FeedComment without a parent filter requires theView All Datapermission on the connected user. Attempts instant delivery via webhook and falls back to timer polling automatically. See the documentationv0.0.6 -
New Chatter Feed Item (Instant or Polling)
triggerEmit new events for each Chatter FeedItem (post) created in Salesforce, pollingFeedItemvia SOQL onCreatedDate. Use this to react to Chatter posts on Cases and other records, since Chatter activity does not update the parent record'sLastModifiedDate(so New Record (Instant, of Selectable Type) and New Case (Instant, of Selectable Type) never emit for it). SetparentObjectTypeto the parent object's API name (e.g.Case,Opportunity) to only emit posts whose parent record is of that type. SetexcludeSelftotrueto drop posts authored by the connected integration user. Note:Bodyis null for system-generated post types (e.g.TrackedChange). Attempts instant delivery via webhook and falls back to timer polling automatically when the Streaming API does not support this object. See the documentationv0.0.6 -
New Deleted Record (Instant, of Selectable Type)
triggerEmit new event when a record of the selected object type is deleted. See the documentationv0.1.12 -
New Email Template (Instant, of Selectable Type)
triggerEmit new event when an email template is created. See the documentationv0.0.13 -
New Knowledge Article (Instant, of Selectable Type)
triggerEmit new event when a knowledge article is created. See the documentationv0.0.13 -
New Outbound Message (Instant)
triggerEmit new event when a new outbound message is received in Salesforce. See the documentationInstantv1.0.0 -
New Record (Instant, of Selectable Type)
triggerEmit new event when a record of the selected object type is created. See the documentationv0.2.13 -
New Updated Record (Instant, of Selectable Type)
triggerEmit new event when a record of the selected type is updated. See the documentationv0.2.13
MULTI-APP
Use Salesforce with other popular apps
Most products don't stop at one integration. Pair Salesforce with the other apps your users rely on, and ship use cases that span both.
- App slug
- salesforce_rest_api
- Authentication
- OAuth
- Categories
- CRM
- Actions
- 61
- Triggers
- 12
- API proxy
- Available