Salesforce Component
Query, create, update or delete Salesforce records
Component key: salesforceDescription
Salesforce is a customer relationship management (CRM) platform. This component gives you the ability to manage sales leads and records within the Salesforce platform.
API Documentation
This component was built using the following API References:
This component includes CRUD (create, read, update, delete) actions for records and a create action for leads. For more complex queries, you can use Salesforce Object Query Language and the query action of this component.
Listening for events in Salesforce
Salesforce can notify you when a record is created, updated, deleted, or undeleted. To listen for these events, you can use the Outbound Messaging feature of Salesforce.
When you create a workflow rule, you specify which conditions cause the rule to run. When those conditions are met, Salesforce sends an outbound message to the URL you specified in the outbound message.
You can either use the Create Workflow Outbound Message and Create Workflow Rule actions to create workflow rules, or you can use the Workflow Outobund Message Webhook trigger, which runs on instance deploy and configures workflow rules and outbound messages for you.
Related blog post: Integrating with Salesforce APIs: Tips and Tricks
Example integration
We have an example integration in our GitHub examples repo that you can import and test yourself.
The integration has three flows:
- Initial Account Import runs when an instance is first deployed. It uses SOQL to query pages of Account records, and for each page it loops over results and posts those results to "Acme". Account records are translated using the field mapping values the customer selected with a code step.
- Process Salesforce Outbound Messages receives notifications when an Account is changed. It fetches the modified account, maps data from SFDC to a format that "Acme Corp" understands, and sends the request to Acme. The subscription to a Salesforce Outbound Message and Workflow Rule are performed on instance deploy automatically. Those resource are deleted on instance removal.
- Create Account from Acme provides bi-directional data flow from SFDC and Acme.
Acme (you) can send a webhook request to this flow via its webhook URL, and a corresponding Account will be created in SFDC. A payload should look like this:
{
"acct_name": "My New Account",
"revenue": 12345
}
The integration also has a custom field mapper, which fetches fields on the Account object and allows the user to map them to fields on the Acme object. The field mapper in the examle integration is built using the Code component, but we recommend building a custom field mapper in a custom component so you can test it locally and dynamically pull data from your app, as well. See Building a Field Mapper Data Source.
For information on how data from the field mapper was used in the integration, see Using Field Mapping in a Flow.
Connections
Salesforce Basic Connection
If you select Basic Auth, you will need to supply your Salesforce username and a password. Depending on your Salesforce setup, your password may have a security token attached to it. If security tokens in your Salesforce account are disabled, the password you need to supply is simply your Salesforce password. If security tokens are enabled in your Salesforce account, then the password you need to enter is the concatenation of your password and your security token.
For example, if your Salesforce password is p@$sw0rD
and the security token that Salesforce provides is ExAmPlE0000000000ExAmPlE
, then you should enter p@$sw0rDExAmPlE0000000000ExAmPlE
as your password in Prismatic.
You can manage security tokens by clicking your profile picture on the top-right of Salesforce, select My Settings, and then open Personal -> Reset My Security Token.
Salesforce OAuth 2.0
If you select OAuth 2.0, you will need to create and configure a Connected App within Salesforce.
- When you create your "Connected App" be sure to check Enable OAuth Settings, and enter Prismatic's OAuth callback URL
https://oauth2.prismatic.io/callback
as a Callback URL for US based integrations. - For integrations outside the US refer to this guide to find your region’s Callback URL.
- Consult Salesforce to determine the proper OAuth Scopes to assign - to grant your integrations the same permissions that the user authenticating through OAuth has, select Full access (full). Also select Perform requests at any time. Select Require Secret for Web Server Flow and Require Secret for Refresh Token Flow:
Once the app has been created, you will be provided with a Consumer Key and Consumer Secret. Take note of these keys:
If you need to return to this screen, click PLATFORM TOOLS -> Apps -> App Manager, click the dropdown menu to the right of your app and select Edit. From there you can manage callback URLs. Click Save and then Manage Consumer Details to view the consumer key and secret again.
Now, configure OAuth 2.0 settings in Prismatic.
Add a Salesforce action to your integration. This will automatically create a connection config variable for Salesforce. Enter the Consumer Key and Consumer Secret that you noted previously.
You should now be able to authenticate a user through Salesforce using OAuth 2.0.
If you would like to connect to a Salesforce sandbox organization for testing purposes, edit your connection's Authorize URL, Token URL and Revoke URLs to read test.salesforce.com
instead of login.salesforce.com
.
Be sure to change these values back when your testing is done.
Triggers
Webhook
Trigger for handling webhook requests from the Salesforce platform. Returns the expected response to Salesforce and converts the XML payload to an object for more convenient use in the rest of the flow. | key: webhook
You can configure a Salesforce outbound message to send information to a Prismatic webhook URL under certain conditions (an "Account" is created, an "Opportunity" is updated, etc.).
This trigger responds to a Salesforce outbound message request with the acknowledgement (ack) response that Salesforce expects.
Since Salesforce always sends XML payloads, the XML is deserialized automatically as part of the trigger, so no additional XML deserialization step is required.
Workflow Outbound Message Webhook
Trigger for handling workflow rule triggers from the Salesforce platform. Creates a Workflow Outbound Message and a Workflow Rule. Returns the expected response to Salesforce and converts the XML payload to an object for more convenient use in the rest of the flow. | key: workflowTrigger
Data Sources
Record Type Field Preview
A list of fields of the specified Record Type for use as a preview during configuration. | key: previewRecordTypeFields | type: picklist
Record Type Field Value Preview
A list of values of the specified Record Type field for use as a preview during configuration. | key: previewRecordTypeFieldValues | type: picklist
Record Type Fields
A map of a list of fields to Salesforce Record Type fields. | key: mapRecordTypeFields | type: objectFieldMap
Record Types
A subset of Salesforce Record Types. | key: selectRecordTypes | type: objectSelection
Record Types With Fields
A subset of Salesforce Record Types. | key: selectRecordTypesWithFields | type: objectSelection
Actions
Abort a Bulk Job
Aborts a Job | key: abortBulkJob
{
"data": {
"id": "7506g00000DhRA2AAN",
"operation": "insert",
"object": "Account",
"createdById": "0056g000005HQPyAAO",
"createdDate": "2018-12-18T22:51:36.000+0000",
"systemModstamp": "2018-12-18T22:51:58.000+0000",
"state": "Open",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Ingest",
"contentUrl": "services/data/v60.0/jobs/ingest/7506g00000DhRA2AAN/batches",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"retries": 0,
"totalProcessingTime": 0,
"apiActiveProcessingTime": 0,
"apexProcessingTime": 0
}
}
Abort a Bulk Query Job
Aborts a query job. | key: abortBulkQueryJob
{
"data": {
"id": "750R000000146UvIAI",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-18T16:15:31.000+0000",
"systemModstamp": "2018-12-18T16:15:32.000+0000",
"state": "Aborted",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 46
}
}
Add Attachment
Attach a file to a Parent record object (Account, Opportunity, etc.) | key: addAttachment
{
"data": {
"id": "015D0000000N3ZZIA0",
"errors": [],
"success": true
}
}
Add User Permission Set
Adds a Permission Set to the specified User | key: addUserPermissionSet
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Bulk Insert Records
Creates new Salesforce Records | key: bulkInsertRecords
{
"data": [
{
"id": "015D0000000N3ZZIA0",
"errors": [],
"success": true
}
]
}
Bulk Upsert Records
Updates Salesforce Records if they exists, otherwise creates new Salesforce Records | key: bulkUpsertRecords
{
"data": [
{
"id": "015D0000000N3ZZIA0",
"errors": [],
"success": true
}
]
}
Complete Upload Bulk Job
Notifies Salesforce servers that the upload of job data is complete and is ready for processing. You can’t add any more job data. | key: completeUploadBulkJob
{
"data": {
"id": "7506g00000DhRA2AAN",
"operation": "insert",
"object": "Account",
"createdById": "0056g000005HQPyAAO",
"createdDate": "2018-12-18T22:51:36.000+0000",
"systemModstamp": "2018-12-18T22:51:58.000+0000",
"state": "Open",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Ingest",
"contentUrl": "services/data/v60.0/jobs/ingest/7506g00000DhRA2AAN/batches",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"retries": 0,
"totalProcessingTime": 0,
"apiActiveProcessingTime": 0,
"apexProcessingTime": 0
}
}
Composite Requests
Send multiple requests in a single HTTP call | key: compositeRequests
{
"data": {
"hasErrors": false,
"results": [
{
"statusCode": 204,
"result": null
},
{
"statusCode": 200,
"result": {
"attributes": {
"type": "Account",
"url": "/services/data/v60.0/sobjects/Account/001D000000K0fXOIAZ"
},
"Name": "NewName",
"BillingPostalCode": "94105",
"Id": "001D000000K0fXOIAZ"
}
}
]
}
}
Create a Bulk Job
Creates a job representing a bulk operation and its associated data that is sent to Salesforce for asynchronous processing. | key: createBulkJob
{
"data": {
"id": "750R0000000zlh9IAA",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-10T17:50:19.000+0000",
"systemModstamp": "2018-12-10T17:51:27.000+0000",
"state": "JobComplete",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 46,
"jobType": "V2Query",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"numberRecordsProcessed": 500,
"retries": 0,
"totalProcessingTime": 334,
"isPkChunkingSupported": true
}
}
Create Account
Create a Salesforce Account Record | key: createAccount
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Create Bulk Query Job
Creates a query job. | key: createBulkQueryJob
{
"data": {
"id": "750R0000000zlh9IAA",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-10T17:50:19.000+0000",
"systemModstamp": "2018-12-10T17:50:19.000+0000",
"state": "UploadComplete",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 46,
"lineEnding": "LF",
"columnDelimiter": "COMMA"
}
}
Create Contact
Create a Salesforce contact | key: createContact
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Create Customer
Create a Salesforce customer | key: createCustomer
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Create Lead
Create a Salesforce Lead Record | key: createLead
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Create Opportunity
Create a Salesforce Opportunity Record, which is a sale or pending deal | key: createOpportunity
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Create Profile
Create a Salesforce Profile | key: createProfile
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Create Record
Create a Salesforce Record | key: createRecord
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Create User
Create a Salesforce User | key: createUser
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Create Workflow Outbound Message
Create a Workflow Outbound Message | key: createWorkflowOutboundMessage
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Create Workflow Rule
Create a Workflow Rule | key: createWorkflowRule
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Delete a Bulk Job
Deletes a job. | key: deleteBulkJob
{
"data": {}
}
Delete A Bulk Query Job
Deletes a query job. | key: deleteBulkQueryJob
{
"data": {}
}
Delete Account
Delete an existing account record | key: deleteAccount
Delete Contact
Delete an existing contact record | key: deleteContact
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Delete Customer
Delete an existing customer record | key: deleteCustomer
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Delete Lead
Delete a Salesforce Lead Record | key: deleteLead
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Delete Opportunity
Delete an existing opportunity record | key: deleteOpportunity
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Delete Profile
Delete a Salesforce Profile | key: deleteProfile
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Delete Record
Delete an existing Salesforce Record | key: deleteRecord
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Delete Workflow Outbound Message
Delete a Workflow Outbound Message | key: deleteWorkflowOutboundMessage
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Delete Workflow Rule
Delete a Workflow Rule | key: deleteWorkflowRule
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Describe Customer SObject
Metadata description API for Salesforce object. | key: describeCustomerSObject
{
"data": {
"actionOverrides": [],
"activateable": false,
"associateEntityType": null,
"associateParentEntity": null,
"childRelationships": [
{
"cascadeDelete": true,
"childSObject": "AIInsightValue",
"deprecatedAndHidden": false,
"field": "SobjectLookupValueId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": true,
"childSObject": "AIRecordInsight",
"deprecatedAndHidden": false,
"field": "TargetId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "CommSubscriptionConsent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "CommSubsConsents",
"restrictedDelete": true
},
{
"cascadeDelete": false,
"childSObject": "CommSubscriptionConsentChangeEvent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "ContactPointConsent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "ContactPointConsents",
"restrictedDelete": true
},
{
"cascadeDelete": false,
"childSObject": "ContactPointConsentChangeEvent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "ContactPointTypeConsent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "ContactPointTypeConsents",
"restrictedDelete": true
},
{
"cascadeDelete": false,
"childSObject": "ContactPointTypeConsentChangeEvent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": true,
"childSObject": "CustomerShare",
"deprecatedAndHidden": false,
"field": "ParentId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "Shares",
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "FlowExecutionErrorEvent",
"deprecatedAndHidden": false,
"field": "ContextRecordId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "FlowRecordRelation",
"deprecatedAndHidden": false,
"field": "RelatedRecordId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "PartyConsent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "PartyConsents",
"restrictedDelete": true
},
{
"cascadeDelete": false,
"childSObject": "PartyConsentChangeEvent",
"deprecatedAndHidden": false,
"field": "PartyRoleId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": true,
"childSObject": "PendingServiceRoutingInteractionInfo",
"deprecatedAndHidden": false,
"field": "TargetObjectId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": null,
"restrictedDelete": false
},
{
"cascadeDelete": true,
"childSObject": "ProcessInstance",
"deprecatedAndHidden": false,
"field": "TargetObjectId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "ProcessInstances",
"restrictedDelete": false
},
{
"cascadeDelete": false,
"childSObject": "ProcessInstanceHistory",
"deprecatedAndHidden": false,
"field": "TargetObjectId",
"junctionIdListNames": [],
"junctionReferenceTo": [],
"relationshipName": "ProcessSteps",
"restrictedDelete": false
}
],
"compactLayoutable": true,
"createable": true,
"custom": false,
"customSetting": false,
"deepCloneable": false,
"defaultImplementation": null,
"deletable": true,
"deprecatedAndHidden": false,
"extendedBy": null,
"extendsInterfaces": null,
"feedEnabled": false,
"fields": [],
"hasSubtypes": false,
"implementedBy": null,
"implementsInterfaces": null,
"isInterface": false,
"isSubtype": false,
"keyPrefix": "0o6",
"label": "Customer",
"labelPlural": "Customers",
"layoutable": true,
"listviewable": null,
"lookupLayoutable": null,
"mergeable": false,
"mruEnabled": true,
"name": "Customer",
"namedLayoutInfos": [],
"networkScopeFieldName": null,
"queryable": true,
"recordTypeInfos": [
{
"active": true,
"available": true,
"defaultRecordTypeMapping": true,
"developerName": "Master",
"master": true,
"name": "Master",
"recordTypeId": "012964000000000AAA",
"urls": {
"layout": "/services/data/v53.0/sobjects/Customer/describe/layouts/012964000000000AAA"
}
}
],
"replicateable": true,
"retrieveable": true,
"searchLayoutable": true,
"searchable": true,
"sobjectDescribeOption": "FULL",
"supportedScopes": [],
"triggerable": true,
"undeletable": true,
"updateable": true,
"urls": {
"compactLayouts": "/services/data/v53.0/sobjects/Customer/describe/compactLayouts",
"rowTemplate": "/services/data/v53.0/sobjects/Customer/{ID}",
"approvalLayouts": "/services/data/v53.0/sobjects/Customer/describe/approvalLayouts",
"uiDetailTemplate": "https://dummy-uri.my.salesforce.com/{ID}",
"uiEditTemplate": "https://dummy-uri.my.salesforce.com/{ID}/e",
"describe": "/services/data/v53.0/sobjects/Customer/describe",
"uiNewRecord": "https://dummy-uri.my.salesforce.com/0o6/e",
"layouts": "/services/data/v53.0/sobjects/Customer/describe/layouts",
"sobject": "/services/data/v53.0/sobjects/Customer"
}
}
}
Describe Object
Describe attributes of a Salesforce Record Type | key: describeObject
Describe Permissions
Describe permissions of a Salesforce Record Type | key: describePermissions
Find Record
Find a single Salesforce Record | key: findRecord
{
"data": {
"Id": "003RM000006pL5gQAE",
"Name": "Acme",
"Phone": "123-456-7890",
"BillingCity": "San Francisco",
"BillingState": "CA"
}
}
Find Records
Find and fetch Salesforce Records | key: findRecords
{
"data": [
{
"Id": "003RM000006pL5gQAE",
"Name": "Acme",
"Phone": "123-456-7890",
"BillingCity": "San Francisco",
"BillingState": "CA"
}
]
}
Get Attachment
Get a file attachment from an account, opportunity or contact | key: getAttachment
{
"data": {
"type": "Buffer",
"data": [
83,
71,
86,
115,
98,
71,
56,
103,
86,
50,
57,
121,
98,
71,
81,
61
]
},
"contentType": "image/png"
}
Get Bulk Job Failed Record Results
Retrieves a list of failed records for a completed insert, delete, update or upsert job. | key: getJobFailedRecordResults
Get Bulk Job Info
Retrieves detailed information about a job. | key: getBulkJob
{
"data": {
"id": "7506g00000DhRA2AAN",
"operation": "insert",
"object": "Account",
"createdById": "0056g000005HQPyAAO",
"createdDate": "2018-12-18T22:51:36.000+0000",
"systemModstamp": "2018-12-18T22:51:58.000+0000",
"state": "Open",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Ingest",
"contentUrl": "services/data/v60.0/jobs/ingest/7506g00000DhRA2AAN/batches",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"retries": 0,
"totalProcessingTime": 0,
"apiActiveProcessingTime": 0,
"apexProcessingTime": 0
}
}
Get Bulk Job Successful Record Results
Retrieves the successful record results for a job. | key: getJobSuccessfulRecordResults
Get Current User
Return information about the current session's user | key: getCurrentUser
{
"data": {
"results": {
"id": "https://login.salesforce.com/id/00Z8d000694w9weEAQ/0064c00859AJGN6KPA",
"asserted_user": true,
"user_id": "0064c00859AJGN6KPA",
"organization_id": "00Z8d000694w9weEAQ",
"username": "jhon@doe.com",
"nick_name": "dev",
"display_name": "Dev Env",
"email": "jhon@doe.com",
"email_verified": true,
"first_name": "Dev",
"last_name": "Dev",
"timezone": "America/Los_Angeles",
"photos": {
"picture": "https://dummy-uri.file.force.com/profilephoto/005/F",
"thumbnail": "https://dummy-uri.file.force.com/profilephoto/005/T"
},
"addr_street": null,
"addr_city": null,
"addr_state": null,
"addr_country": "US",
"addr_zip": null,
"mobile_phone": null,
"mobile_phone_verified": false,
"is_lightning_login_user": false,
"status": {
"created_date": null,
"body": null
},
"urls": {
"enterprise": "https://dummy-uri.my.salesforce.com/services/Soap/c/{version}/00Z8d000694w9we",
"metadata": "https://dummy-uri.my.salesforce.com/services/Soap/m/{version}/00Z8d000694w9we",
"partner": "https://dummy-uri.my.salesforce.com/services/Soap/u/{version}/00Z8d000694w9we",
"rest": "https://dummy-uri.my.salesforce.com/services/data/v{version}/",
"sobjects": "https://dummy-uri.my.salesforce.com/services/data/v{version}/sobjects/",
"search": "https://dummy-uri.my.salesforce.com/services/data/v{version}/search/",
"query": "https://dummy-uri.my.salesforce.com/services/data/v{version}/query/",
"recent": "https://dummy-uri.my.salesforce.com/services/data/v{version}/recent/",
"tooling_soap": "https://dummy-uri.my.salesforce.com/services/Soap/T/{version}/00Z8d000694w9we",
"tooling_rest": "https://dummy-uri.my.salesforce.com/services/data/v{version}/tooling/",
"profile": "https://dummy-uri.my.salesforce.com/0064c00859AJGN6KPA",
"feeds": "https://dummy-uri.my.salesforce.com/services/data/v{version}/chatter/feeds",
"groups": "https://dummy-uri.my.salesforce.com/services/data/v{version}/chatter/groups",
"users": "https://dummy-uri.my.salesforce.com/services/data/v{version}/chatter/users",
"feed_items": "https://dummy-uri.my.salesforce.com/services/data/v{version}/chatter/feed-items",
"feed_elements": "https://dummy-uri.my.salesforce.com/services/data/v{version}/chatter/feed-elements",
"custom_domain": "https://dummy-uri.my.salesforce.com"
},
"active": true,
"user_type": "STANDARD",
"language": "en_US",
"locale": "en_US",
"utcOffset": -28800000,
"last_modified_date": "2023-10-06T18:48:33Z",
"is_app_installed": true
}
}
}
Get Customer
Gets an existing customer record | key: getCustomer
{
"data": {
"attributes": {
"type": "Customer",
"url": "/services/data/v53.0/sobjects/Customer/0o68c000000wk3lAAA"
},
"Id": "0o68c000000wk3lAAA",
"OwnerId": "0064c00859AJGN6KPA",
"IsDeleted": false,
"Name": "Customer Name",
"CreatedDate": "2023-12-14T20:54:21.000+0000",
"CreatedById": "0064c00859AJGN6KPA",
"LastModifiedDate": "2023-12-14T20:54:21.000+0000",
"LastModifiedById": "0064c00859AJGN6KPA",
"SystemModstamp": "2023-12-14T20:54:21.000+0000",
"LastViewedDate": "2023-12-21T22:23:30.000+0000",
"LastReferencedDate": "2023-12-21T22:23:30.000+0000",
"PartyId": "0PK8c000963oLkUGAU",
"TotalLifeTimeValue": null,
"CustomerStatusType": "Active"
}
}
Get File
Retrieves a file from Salesforce ContentVersion | key: getFile
{
"data": {
"type": "Buffer",
"data": [
83,
71,
86,
115,
98,
71,
56,
103,
86,
50,
57,
121,
98,
71,
81,
61
]
},
"contentType": "image/png"
}
Get Information About a Bulk Query Job
Gets information about one query job. | key: getQueryJobInformation
{
"data": {
"id": "750R0000000zlh9IAA",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-10T17:50:19.000+0000",
"systemModstamp": "2018-12-10T17:51:27.000+0000",
"state": "JobComplete",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 46,
"jobType": "V2Query",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"numberRecordsProcessed": 500,
"retries": 0,
"totalProcessingTime": 334,
"isPkChunkingSupported": true
}
}
Get Information About All Query Jobs
Gets information about all query jobs in the org. | key: getAllQueryJobInformation
{
"data": {
"done": false,
"records": [
{
"id": "750R0000000zhfdIAA",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-07T19:58:09.000+0000",
"systemModstamp": "2018-12-07T19:59:14.000+0000",
"state": "JobComplete",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Query",
"lineEnding": "LF",
"columnDelimiter": "COMMA"
},
{
"id": "750R0000000zhjzIAA",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-07T20:52:28.000+0000",
"systemModstamp": "2018-12-07T20:53:15.000+0000",
"state": "JobComplete",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Query",
"lineEnding": "LF",
"columnDelimiter": "COMMA"
}
],
"nextRecordsUrl": "/services/data/v60.0/jobs/ingest?queryLocator=01gR0000000opRTIAY-2000"
}
}
Get Record
Get a single Salesforce Record by Id | key: getRecord
{
"data": {
"Id": "003RM000006pL5gQAE",
"Name": "Acme",
"Phone": "123-456-7890",
"BillingCity": "San Francisco",
"BillingState": "CA"
}
}
Get Results for a Bulk Query Job
Gets the results for a query job. The job must be in a Job Complete state | key: getQueryJobResults
{
"data": "\n \"Id\",\"Name\"\n\"005R0000000UyrWIAS\",\"Jane Dunn\"\n\"005R0000000GiwjIAC\",\"George Wright\"\n\"005R0000000GiwoIAC\",\"Pat Wilson\"\n"
}
List Bulk Jobs
Retrieves all jobs in the org. | key: listBulkJobs
{
"data": {
"done": true,
"nextRecordsUrl": "/services/data/v60.0/jobs/ingest?queryLocator=01gR0000000opRTIAY-2000",
"records": [
{
"id": "7506g00000DhRA2AAN",
"operation": "insert",
"object": "Account",
"createdById": "0056g000005HQPyAAO",
"createdDate": "2018-12-18T22:51:36.000+0000",
"systemModstamp": "2018-12-18T22:51:58.000+0000",
"state": "Open",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Ingest",
"contentUrl": "services/data/v60.0/jobs/ingest/7506g00000DhRA2AAN/batches",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"retries": 0,
"totalProcessingTime": 0,
"apiActiveProcessingTime": 0,
"apexProcessingTime": 0
},
{
"id": "7506g00000DhRA2AAN",
"operation": "insert",
"object": "Account",
"createdById": "0056g000005HQPyAAO",
"createdDate": "2018-12-18T22:51:36.000+0000",
"systemModstamp": "2018-12-18T22:51:58.000+0000",
"state": "Open",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 60,
"jobType": "V2Ingest",
"contentUrl": "services/data/v60.0/jobs/ingest/7506g00000DhRA2AAN/batches",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"retries": 0,
"totalProcessingTime": 0,
"apiActiveProcessingTime": 0,
"apexProcessingTime": 0
}
]
}
}
List Composite Resources
Gets a list of URIs for other composite resources. | key: listCompositeResources
{
"data": {
"hasErrors": false,
"results": [
{
"tree": "/services/data/v54.0/composite/tree",
"batch": "/services/data/v54.0/composite/batch",
"sobjects": "/services/data/v54.0/composite/sobjects",
"graph": "/services/data/v54.0/composite/graph"
}
]
}
}
List Customers
List all customer records | key: listCustomers
{
"data": {
"records": [
{
"attributes": {
"type": "Customer",
"url": "/services/data/v53.0/sobjects/Customer/0o68c000000wk3lAAA"
},
"Id": "0o68c000000wk3lAAA",
"OwnerId": "0064c00859AJGN6KPA",
"IsDeleted": false,
"Name": "Customer Name",
"CreatedDate": "2023-12-14T20:54:21.000+0000",
"CreatedById": "0064c00859AJGN6KPA",
"LastModifiedDate": "2023-12-14T20:54:21.000+0000",
"LastModifiedById": "0064c00859AJGN6KPA",
"SystemModstamp": "2023-12-14T20:54:21.000+0000",
"LastViewedDate": "2023-12-21T22:23:30.000+0000",
"LastReferencedDate": "2023-12-21T22:23:30.000+0000",
"PartyId": "0PK8c000963oLkUGAU",
"TotalLifeTimeValue": null,
"CustomerStatusType": "Active"
},
{
"attributes": {
"type": "Customer",
"url": "/services/data/v53.0/sobjects/Customer/0o79c690000wk3qBCD"
},
"Id": "0o79c690000wk3qBCD",
"OwnerId": "0064c00859AJGN6KPA",
"IsDeleted": false,
"Name": "New Name For Customer",
"CreatedDate": "2023-12-14T20:54:50.000+0000",
"CreatedById": "0064c00859AJGN6KPA",
"LastModifiedDate": "2023-12-14T20:54:50.000+0000",
"LastModifiedById": "0064c00859AJGN6KPA",
"SystemModstamp": "2023-12-14T20:54:50.000+0000",
"LastViewedDate": "2023-12-14T20:54:50.000+0000",
"LastReferencedDate": "2023-12-14T20:54:50.000+0000",
"PartyId": "0PK8c000963oLkUGAU",
"TotalLifeTimeValue": null,
"CustomerStatusType": "Active"
}
],
"done": true,
"totalSize": 2
}
}
List Workflow Outbound Messages
List all Workflow Outbound Messages | key: listWorkflowOutboundMessages
List Workflow Rules
List all Workflow Rules | key: listWorkflowRules
{
"data": {
"results": [
{
"createdById": "0064c00859AJGN6KPA",
"createdByName": "Dev Env",
"createdDate": "2023-04-28T16:39:49.000Z",
"fileName": "workflows/Account.workflow",
"fullName": "Account.Vendia-Demo-Hook-0064c00859AJGN6KPA",
"id": "01Q8c000001QiFoEAK",
"lastModifiedById": "0064c00859AJGN6KPA",
"lastModifiedByName": "Dev Env",
"lastModifiedDate": "2023-04-28T16:39:49.000Z",
"manageableState": "unmanaged",
"type": "WorkflowRule"
},
{
"createdById": "0058c00000AJGN6KPO",
"createdByName": "Dev Env",
"createdDate": "2023-04-28T16:39:49.000Z",
"fileName": "workflows/Account.workflow",
"fullName": "Account.Vendia-Demo-Hook-0064c00859AJGN6KPA",
"id": "01Q8c000001QiFoEAK",
"lastModifiedById": "0064c00859AJGN6KPA",
"lastModifiedByName": "Dev Env",
"lastModifiedDate": "2023-04-28T16:39:49.000Z",
"manageableState": "unmanaged",
"type": "WorkflowRule"
}
]
}
}
Metadata API: Create Fields
Create custom fields from metadata | key: createFieldsFromMetadata
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Metadata API: Create Objects
Create custom objects from metadata | key: createObjectsFromMetadata
{
"data": {
"success": true,
"fullName": "TestObject1__c"
}
}
Metadata API: List Object Metadata
Get all metadata for all objects (standard and custom) | key: listObjectMetadata
{
"data": {
"results": [
{
"createdById": "0064c00859AJGN6KPA",
"createdByName": "Dev Env",
"createdDate": "1970-01-01T00:00:00.000Z",
"fileName": "objects/Campaign.object",
"fullName": "Campaign",
"id": "",
"lastModifiedById": "0064c00859AJGN6KPA",
"lastModifiedByName": "Dev Env",
"lastModifiedDate": "1970-01-01T00:00:00.000Z",
"namespacePrefix": "",
"type": "CustomObject"
},
{
"createdById": "0064c00859AJGN6KPA",
"createdByName": "Dev Env",
"createdDate": "1970-01-01T00:00:00.000Z",
"fileName": "objects/Campaign.object",
"fullName": "Campaign",
"id": "",
"lastModifiedById": "0064c00859AJGN6KPA",
"lastModifiedByName": "Dev Env",
"lastModifiedDate": "1970-01-01T00:00:00.000Z",
"namespacePrefix": "",
"type": "CustomObject"
}
]
}
}
Metadata API: Read Metadata of Object
Get the metadata of an object by full name | key: getObjectMetadataByName
{
"data": {
"createdById": "0064c00859AJGN6KPA",
"createdByName": "Dev Env",
"createdDate": "1970-01-01T00:00:00.000Z",
"fileName": "objects/Campaign.object",
"fullName": "Campaign",
"id": "",
"lastModifiedById": "0064c00859AJGN6KPA",
"lastModifiedByName": "Dev Env",
"lastModifiedDate": "1970-01-01T00:00:00.000Z",
"namespacePrefix": "",
"type": "CustomObject"
}
}
Raw Request
Send raw HTTP request to Salesforce | key: rawRequest
Remove User Permission Set
Removes a Permission Set from the specified User | key: removeUserPermissionSet
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Salesforce Query
Run an SOQL Query Against SalesForce | key: query
Send Transactional Email
Sends a message to a single recipient via Salesforce | key: sendTransactionalEmail
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Subscribe to Record Change
Create a workflow rule to subscribe to Record Changes in Salesforce. | key: subscribeToRecordChange
{
"data": {
"WorkflowRule": {
"errors": [],
"success": true,
"fullName": "Account.TestRule"
},
"WorkflowOutboundMessage": {
"errors": [],
"success": true,
"fullName": "Account.TestRule"
}
}
}
Update Account
Update an existing account record | key: updateAccount
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Update Contact
Update an existing contact record | key: updateContact
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Update Customer
Update an existing customer record | key: updateCustomer
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Update Lead
Update a Salesforce Lead Record | key: updateLead
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Update Opportunity
Update an existing opportunity record | key: updateOpportunity
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Update Profile
Update a Salesforce Profile | key: updateProfile
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Update Record
Updates an existing Salesforce Record | key: updateRecord
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Update User
Update a Salesforce User | key: updateUser
{
"data": {
"id": "06Q606ExampleId",
"success": true
}
}
Upload Bulk Job Data
Uploads data for a job using CSV data you provide. | key: uploadJobData
{
"data": {
"id": "750R0000000zlh9IAA",
"operation": "query",
"object": "Account",
"createdById": "005R0000000GiwjIAC",
"createdDate": "2018-12-10T17:50:19.000+0000",
"systemModstamp": "2018-12-10T17:51:27.000+0000",
"state": "JobComplete",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 46,
"jobType": "V2Query",
"lineEnding": "LF",
"columnDelimiter": "COMMA",
"numberRecordsProcessed": 500,
"retries": 0,
"totalProcessingTime": 334,
"isPkChunkingSupported": true
}
}
Upload File
Uploads a file to Salesforce ContentVersion | key: uploadFile
{
"data": {
"id": "06Q606ExampleId",
"success": true,
"errors": []
}
}
Upsert Record
Updates a Salesforce Record if it exists, otherwise creates a new Salesforce Record | key: upsertRecord
{
"data": [
{
"id": "00190000001pPvHAAU",
"errors": [],
"success": true,
"created": true
}
]
}
Validate Connection
Returns a boolean value that specifies whether the provided Connection is valid | key: validateConnection