diff --git a/_packages/salesforce-bot.md b/_packages/salesforce-bot.md deleted file mode 100644 index 2d9fef83..00000000 --- a/_packages/salesforce-bot.md +++ /dev/null @@ -1,466 +0,0 @@ ---- -title: Salesforce Bot -excerpt: A bot demonstrating integration between Cerb and Salesforce. -layout: integration -topic: Packages -permalink: /packages/salesforce-bot/ -jumbotron: - title: Salesforce Bot - tagline: "" - breadcrumbs: - - - label: Resources » - url: /resources/ - - - label: Packages » - url: /resources/packages/ ---- - -* TOC -{:toc} - -# Introduction - -This package creates **Salesforce Bot** for demonstrating integration between Cerb and the [Salesforce API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/). - -
- -
- -# Configure the Salesforce service - -If you haven't already, follow [these instructions](/solutions/integrations/salesforce/) to configure the Salesforce service and add your first connected account. - -# Import the package - -Navigate to **Setup >> Packages >> Import**. - -Paste the following package into the large text box: - -{% highlight json %} -{% raw %} -{ - "package": { - "name": "Salesforce Bot", - "cerb_version": "9.1.0", - "revision": 1, - "requires": { - "cerb_version": "9.1.0" - }, - "configure": { - "prompts": [ - { - "type": "chooser", - "label": "Salesforce Account:", - "key": "salesforce_account_id", - "params": { - "context": "cerberusweb.contexts.connected_account", - "single": true, - "query": "name:salesforce" - } - }, - { - "type": "text", - "label": "Salesforce Instance:", - "key": "salesforce_instance", - "params": { - "placeholder": "(e.g. na55)" - } - } - ], - "placeholders": [ - - ] - } - }, - "bots": [ - { - "uid": "bot_38", - "name": "Salesforce Bot", - "owner": { - "context": "cerberusweb.contexts.app", - "id": 0 - }, - "is_disabled": false, - "params": { - "config": { - "instance": "{{{salesforce_instance}}}", - "api_version": "v40.0" - }, - "events": { - "mode": "all", - "items": [ - - ] - }, - "actions": { - "mode": "all", - "items": [ - - ] - } - }, - "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAAk1BMVEX///8AnNsAmtr6/f/+/v/3/P4AmdoRod1WvufP7fgzsOIZpN7o9vzT7vmQ0+9AsuMyreEhqN8LntwFndz0+/3u+f3r9/zk9fur3vOh2vKb2PGAzO13yOtjwelSuuYpqeDg8/vb8frI6vfB5/az4fSW1vCDzu19y+xbvudIt+S+5fa24/Wz3/SY1fCI0e5EteQ7sOLXaIOzAAACLklEQVRo3u3X2XKqQBRG4fU3BGI0jpknMw9nfv+nO21aaKNgBG2qkuK7EKGRJbu0Smm1Wq1W62t7ljOOCeRNHxBAV9bazEgzN9SnIoZMvIObfFWJsrdAdalKYRmtqD61qdYAFaOSU9VDFaorfMO64l0/TZLkKg4U0fK3K0CjyFnIiEeBFyl8RgE0ElEjETUSUSOR1/ARq5GIvk9ETUcOVKws39n4jfXwqkVOAKPN1I5UmW9Rw5Rfza/SqRFRJna7Y2YO55FbrEl2/nwzdRtbjbjHVruLq6uRSBnDsczdo8RIBlzkArIdoxRpCMOhIHLrkX22L8HIGCN40xWsRJS7ZKzchIGykK30/ewge5gQ28ipH6yxB6TVyNIAp35pfx7Zs0DAcR4x4J7aiPx1799PjpcjWmSwUg3g7oePONIJ5DeREBVFIpx1Eesa3CuSPCIPzu3Cs6TiO7lgoEVlP6NLI/uy6OkCk131J/088kduWxBZPvAQg06h02MeMViuFj366hCOcJ8uP5bbbF5rIjqcH3rC2vMzIa+l/oPkTskiit3+COtMmb/AWNWBNoel6m64llchEuxF53UjqoAZhfXQRIQGIjQQiQhfOSN85BfhI9/kX8MRhK7EWCEryTGFOtrebz7T09bYQMiG9y9kw7sM2/Be0kn3CVUTU4c+cd5Z+tqFqLjppkm3zxZSrXPCbmgdCF+B8BUIX4HwFXbtMHxiNUMw0eBg5ppWq9VqfVH/Ab6NHLHV3NfdAAAAAElFTkSuQmCC", - "behaviors": [ - { - "uid": "behavior_214", - "title": "Create account record", - "is_disabled": false, - "is_private": true, - "priority": 50, - "event": { - "key": "event.macro.bot", - "label": "Custom behavior on bot" - }, - "variables": { - "var_name": { - "key": "var_name", - "label": "Name", - "type": "S", - "is_private": "0", - "params": { - "widget": "single" - } - } - }, - "nodes": [ - { - "type": "action", - "title": "Execute HTTP request", - "status": "live", - "params": { - "actions": [ - { - "action": "core.va.action.http_request", - "http_verb": "post", - "http_url": "{# See: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_create.htm #}\r\nhttps://{{behavior_bot_config.instance}}.salesforce.com/services/data/{{behavior_bot_config.api_version}}/sobjects/Account/", - "http_headers": "Content-Type: application/json", - "http_body": "{% set json = {\r\n\t\"name\": var_name\r\n} %}\r\n{{json|json_encode|json_pretty}}", - "auth": "connected_account", - "auth_connected_account_id": "{{{salesforce_account_id}}}", - "options": { - "raw_response_body": "1" - }, - "run_in_simulator": "1", - "response_placeholder": "_http_response" - }, - { - "action": "_set_custom_var", - "value": "{{_http_response.body|json_pretty}}", - "format": "json", - "is_simulator_only": "0", - "var": "response_json" - } - ] - } - } - ] - }, - { - "uid": "behavior_210", - "title": "Get account record", - "is_disabled": false, - "is_private": true, - "priority": 50, - "event": { - "key": "event.macro.bot", - "label": "Custom behavior on bot" - }, - "variables": { - "var_account_id": { - "key": "var_account_id", - "label": "Account ID", - "type": "S", - "is_private": "0", - "params": { - "widget": "single" - } - } - }, - "nodes": [ - { - "type": "action", - "title": "Call to Salesforce API", - "status": "live", - "params": { - "actions": [ - { - "action": "_set_custom_var", - "value": "", - "format": "", - "is_simulator_only": "0", - "var": "fields" - }, - { - "action": "core.va.action.http_request", - "http_verb": "get", - "http_url": "https://{{behavior_bot_config.instance}}.salesforce.com/services/data/{{behavior_bot_config.api_version}}/sobjects/Account/{{var_account_id}}?fields=Id,Name", - "http_headers": "", - "http_body": "", - "auth": "connected_account", - "auth_connected_account_id": "{{{salesforce_account_id}}}", - "options": { - "raw_response_body": "1" - }, - "run_in_simulator": "1", - "response_placeholder": "_http_response" - }, - { - "action": "_set_custom_var", - "value": "{{_http_response.body|json_pretty}}", - "format": "json", - "is_simulator_only": "0", - "var": "response_json" - } - ] - } - } - ] - }, - { - "uid": "behavior_211", - "title": "Get Salesforce versions info", - "is_disabled": false, - "is_private": true, - "priority": 50, - "event": { - "key": "event.macro.bot", - "label": "Custom behavior on bot" - }, - "nodes": [ - { - "type": "action", - "title": "Call to Salesforce API", - "status": "live", - "params": { - "actions": [ - { - "action": "core.va.action.http_request", - "http_verb": "get", - "http_url": "{# See: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_versions.htm #}\r\nhttps://{{behavior_bot_config.instance}}.salesforce.com/services/data", - "http_headers": "", - "http_body": "", - "auth": "connected_account", - "auth_connected_account_id": "{{{salesforce_account_id}}}", - "options": { - "raw_response_body": "1" - }, - "run_in_simulator": "1", - "response_placeholder": "_http_response" - }, - { - "action": "_set_custom_var", - "value": "{{_http_response.body|json_pretty}}", - "format": "json", - "is_simulator_only": "0", - "var": "response_json" - } - ] - } - } - ] - }, - { - "uid": "behavior_213", - "title": "List account records", - "is_disabled": false, - "is_private": true, - "priority": 50, - "event": { - "key": "event.macro.bot", - "label": "Custom behavior on bot" - }, - "nodes": [ - { - "type": "action", - "title": "Execute HTTP request", - "status": "live", - "params": { - "actions": [ - { - "action": "_set_custom_var", - "value": "SELECT id, name FROM Account", - "format": "", - "is_simulator_only": "0", - "var": "query" - }, - { - "action": "core.va.action.http_request", - "http_verb": "get", - "http_url": "{# See: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_query.htm #}\r\nhttps://{{behavior_bot_config.instance}}.salesforce.com/services/data/{{behavior_bot_config.api_version}}/query/?q={{query|url_encode}}", - "http_headers": "", - "http_body": "", - "auth": "connected_account", - "auth_connected_account_id": "{{{salesforce_account_id}}}", - "options": { - "raw_response_body": "1" - }, - "run_in_simulator": "1", - "response_placeholder": "_http_response" - }, - { - "action": "_set_custom_var", - "value": "{{_http_response.body|json_pretty}}", - "format": "json", - "is_simulator_only": "0", - "var": "response_json" - } - ] - } - } - ] - }, - { - "uid": "behavior_212", - "title": "List resources", - "is_disabled": false, - "is_private": true, - "priority": 50, - "event": { - "key": "event.macro.bot", - "label": "Custom behavior on bot" - }, - "nodes": [ - { - "type": "action", - "title": "Call to Salesforce API", - "status": "live", - "params": { - "actions": [ - { - "action": "core.va.action.http_request", - "http_verb": "get", - "http_url": "{# See: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_discoveryresource.htm #}\r\nhttps://{{behavior_bot_config.instance}}.salesforce.com/services/data/v40.0/", - "http_headers": "", - "http_body": "", - "auth": "connected_account", - "auth_connected_account_id": "{{{salesforce_account_id}}}", - "options": { - "raw_response_body": "1" - }, - "run_in_simulator": "1", - "response_placeholder": "_http_response" - }, - { - "action": "_set_custom_var", - "value": "{{_http_response.body|json_pretty}}", - "format": "json", - "is_simulator_only": "0", - "var": "response_json" - } - ] - } - } - ] - }, - { - "uid": "behavior_215", - "title": "Update account record", - "is_disabled": false, - "is_private": true, - "priority": 50, - "event": { - "key": "event.macro.bot", - "label": "Custom behavior on bot" - }, - "variables": { - "var_id": { - "key": "var_id", - "label": "ID", - "type": "S", - "is_private": "0", - "params": { - "widget": "single" - } - }, - "var_fields_json": { - "key": "var_fields_json", - "label": "Fields JSON", - "type": "S", - "is_private": "0", - "params": { - "widget": "multiple" - } - } - }, - "nodes": [ - { - "type": "action", - "title": "Execute HTTP request", - "status": "live", - "params": { - "actions": [ - { - "action": "core.va.action.http_request", - "http_verb": "patch", - "http_url": "{# See: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_update_fields.htm #}\r\nhttps://{{behavior_bot_config.instance}}.salesforce.com/services/data/{{behavior_bot_config.api_version}}/sobjects/Account/{{var_id}}", - "http_headers": "Content-Type: application/json", - "http_body": "{{var_fields_json|json_pretty}}", - "auth": "connected_account", - "auth_connected_account_id": "{{{salesforce_account_id}}}", - "options": { - "raw_response_body": "1" - }, - "run_in_simulator": "1", - "response_placeholder": "_http_response" - }, - { - "action": "_set_custom_var", - "value": "HTTP Status: {{_http_response.info.http_code}}\r\nBody: \r\n{{_http_response.body}}", - "format": "", - "is_simulator_only": "0", - "var": "response" - } - ] - } - } - ] - } - ] - } - ] -} -{% endraw %} -{% endhighlight %} - -Click the **Import** button. - -You'll be prompted to link the Salesforce connected account you created earlier. - -Click the **Import** button again. - -You should see the following: - -
- -
- -# Test the integration behaviors - -Click on **Salesforce Bot** and then click **Behaviors** on its card. - -
- -
- -Open the card for the **List account records** behavior. - -
- -
- -Click on the **Simulator** button at the top of the card. - -Click the **Simulate** button. - -You should see a JSON response with account records. - -
- -
- -You can use the simulator on the other behaviors to test them as well. - -# Next steps - -At this point you can modify the behaviors to meet your needs. You can use the responses from the [Salesforce API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest) in your behaviors. \ No newline at end of file diff --git a/_solutions/integrations/salesforce.md b/_solutions/integrations/salesforce.md index 41bc277a..7161e656 100644 --- a/_solutions/integrations/salesforce.md +++ b/_solutions/integrations/salesforce.md @@ -204,8 +204,8 @@ start: {% endhighlight %} -# Use the connected account in bot behaviors +# Use the connected account in automations -You can use the connected account you just created to access the [Saleforce REST API](https://developer.salesforce.com/page/REST_API) from bot behaviors in Cerb. This is typically accomplished using the **Execute HTTP Request** action from a bot, and selecting the connected account in the **Authentication:** section. +You can use the connected account you just created to access the [Salesforce REST API](https://developer.salesforce.com/page/REST_API) from automations in Cerb. This is typically accomplished using the `http.request` action from an automation, and selecting the connected account in the ``authentication`` field. -You can import the [Salesforce Bot](/packages/salesforce-bot/) package for a working example. \ No newline at end of file +Alternatively, you can import the [Salesforce](/workflows/wgm.integrations.salesforce/) workflow for a working example. \ No newline at end of file diff --git a/_workflows/wgm.integrations.salesforce.md b/_workflows/wgm.integrations.salesforce.md new file mode 100644 index 00000000..7bb248db --- /dev/null +++ b/_workflows/wgm.integrations.salesforce.md @@ -0,0 +1,351 @@ +--- +title: Salesforce +excerpt: Integrate Cerb with Salesforce's API +layout: integration +topic: Workflows +permalink: /workflows/wgm.integrations.salesforce/ +redirect_from: + - /packages/salesforce-bot/ +jumbotron: + title: Salesforce + tagline: "" + breadcrumbs: + - label: Resources » + url: /resources/ + - label: Workflows » + url: /resources/workflows/ +--- + +* TOC +{:toc} + +# Introduction + +This workflow contains multiple automations for demonstrating integration between Cerb and [Salesforce API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/). + +
+ +
+ +# Configure the Salesforce service + +If you haven't already, follow [these instructions](/solutions/integrations/salesforce/) to configure the Salesforce service and add your first connected account. + +# Installation + +Click on **Search >> Workflows >> (+) >> (empty)** and paste the following [KATA](/docs/kata/): + +{% highlight cerb %} +{% raw %} +workflow: + name: wgm.integrations.salesforce + version: 2025-04-15T01:10:55Z + description: Sample integrations for Salesforce + website: https://cerb.ai/workflows/wgm.integrations.salesforce + requirements: + cerb_version: >=11.0 <11.1 + cerb_plugins: cerberusweb.core, + config: + chooser/account: + label: Salesforce Account + record_type: connected_account + text/domain: + label: Your Salesforce domain + text/version: + label: API Version + default: v63.0 +records: + automation/versions: + fields: + name: wgm.integrations.salesforce.listVersions + extension_id: cerb.trigger.automation.function + description: List available API versions + script@raw: + start: + set/config: + config@json: {{cerb_workflow_config('wgm.integrations.salesforce')|json_encode}} + + http.request/version: + output: http_response + inputs: + method: GET + url: https://{{config.domain}}.my.salesforce.com/services/data/ + authentication: cerb:connected_account:{{config.account}} + on_success: + set: + response@json: {{http_response.body}} + http_response@json: null + + policy_kata@raw: + commands: + http.request: + deny/method@bool: {{inputs.method not in ['GET']}} + deny/url@bool: {{inputs.url is not prefixed ('https://'~ cerb_workflow_config('wgm.integrations.salesforce','domain') ~ '.my.salesforce.com/services/data')}} + allow@bool: yes + automation/createAccount: + fields: + name: wgm.integrations.salesforce.account.create + extension_id: cerb.trigger.automation.function + description: Create a new Account record + script@raw: + start: + set/config: + config@json: {{cerb_workflow_config('wgm.integrations.salesforce')|json_encode}} + + http.request/createAccount: + output: http_response + inputs: + method: POST + url: https://{{config.domain}}.my.salesforce.com/services/data/{{config.version}}/sobjects/Account/ + headers: + Content-Type: application/json + authentication: cerb:connected_account:{{config.account}} + body: + Name: Testerson LLC + NumberOfEmployees: 5 + Industry: Testing + on_success: + set: + response@json: {{http_response.body}} + http_response@json: null + + policy_kata@raw: + commands: + http.request: + deny/method@bool: {{inputs.method not in ['POST']}} + deny/url@bool: {{inputs.url is not prefixed ('https://'~ cerb_workflow_config('wgm.integrations.salesforce','domain') ~ '.my.salesforce.com/services/data/'~ cerb_workflow_config('wgm.integrations.salesforce','version') ~ '/sobjects/Account/')}} + allow@bool: yes + automation/updateAccount: + fields: + name: wgm.integrations.salesforce.account.update + extension_id: cerb.trigger.automation.function + description: Update an existing Account record + script@raw: + inputs: + text/accountid: + type: freeform + required@bool: yes + + start: + set/config: + config@json: {{cerb_workflow_config('wgm.integrations.salesforce')|json_encode}} + + http.request/createAccount: + output: http_response + inputs: + method: PATCH + url: https://{{config.domain}}.my.salesforce.com/services/data/{{config.version}}/sobjects/Account/{{inputs.accountid}} + headers: + Content-Type: application/json + authentication: cerb:connected_account:{{config.account}} + body: + BillingCity: Testerville + + policy_kata@raw: + commands: + http.request: + deny/method@bool: {{inputs.method not in ['PATCH']}} + deny/url@bool: {{inputs.url is not prefixed ('https://'~ cerb_workflow_config('wgm.integrations.salesforce','domain') ~ '.my.salesforce.com/services/data/'~ cerb_workflow_config('wgm.integrations.salesforce','version') ~ '/sobjects/Account/')}} + allow@bool: yes + automation/getAccount: + fields: + name: wgm.integrations.salesforce.account.get + extension_id: cerb.trigger.automation.function + description: Get info on an existing Account record + script@raw: + inputs: + text/accountid: + type: freeform + required@bool: yes + text/fields: + type: freeform + required@bool: yes + + + start: + set/config: + config@json: {{cerb_workflow_config('wgm.integrations.salesforce')|json_encode}} + + http.request/createAccount: + output: http_response + inputs: + method: GET + url: https://{{config.domain}}.my.salesforce.com/services/data/{{config.version}}/sobjects/Account/{{inputs.accountid}}?fields={{inputs.fields}} + authentication: cerb:connected_account:{{config.account}} + on_success: + set: + body@json: {{http_response.body}} + return: + body: {{body|json_encode|json_pretty}} + status_code: {{http_response.status_code}} + policy_kata@raw: + commands: + http.request: + deny/method@bool: {{inputs.method not in ['GET']}} + deny/url@bool: {{inputs.url is not prefixed ('https://'~ cerb_workflow_config('wgm.integrations.salesforce','domain') ~ '.my.salesforce.com/services/data/'~ cerb_workflow_config('wgm.integrations.salesforce','version') ~ '/sobjects/Account/')}} + allow@bool: yes + automation/query: + fields: + name: wgm.integrations.salesforce.query + extension_id: cerb.trigger.automation.function + description: Make a query for the name of all available accounts in your organization + script@raw: + start: + set/config: + config@json: {{cerb_workflow_config('wgm.integrations.salesforce')|json_encode}} + + http.request/createAccount: + output: http_response + inputs: + method: GET + url: https://{{config.domain}}.my.salesforce.com/services/data/{{config.version}}/query/?q=SELECT+name,id+from+Account + authentication: cerb:connected_account:{{config.account}} + on_success: + set: + response@json: {{http_response.body}} + http_response@json: null + policy_kata@raw: + commands: + http.request: + deny/method@bool: {{inputs.method not in ['GET']}} + deny/url@bool: {{inputs.url is not prefixed ('https://'~ cerb_workflow_config('wgm.integrations.salesforce','domain') ~ '.my.salesforce.com/services/data/'~ cerb_workflow_config('wgm.integrations.salesforce','version') ~ '/query/')}} + allow@bool: yes + automation/listResources: + fields: + name: wgm.integrations.salesforce.resources + extension_id: cerb.trigger.automation.function + description: List all available API endpoints for your version + script@raw: + start: + set/config: + config@json: {{cerb_workflow_config('wgm.integrations.salesforce')|json_encode}} + + http.request/createAccount: + output: http_response + inputs: + method: GET + url: https://{{config.domain}}.my.salesforce.com/services/data/{{config.version}}/ + authentication: cerb:connected_account:{{config.account}} + on_success: + set: + response@json: {{http_response.body}} + http_response@json: null + policy_kata@raw: + commands: + http.request: + deny/method@bool: {{inputs.method not in ['GET']}} + deny/url@bool: {{inputs.url is not prefixed ('https://'~ cerb_workflow_config('wgm.integrations.salesforce','domain') ~ '.my.salesforce.com/services/data/'~ cerb_workflow_config('wgm.integrations.salesforce','version') ~ '')}} + allow@bool: yes + automation/getAccountInteraction: + fields: + name: wgm.integrations.salesforce.account.get.interaction + extension_id: cerb.trigger.interaction.worker + description: Worker interaction for grabbing account record details + script@raw: + start: + await: + form: + title: Get Account Record + elements: + text/prompt_id: + label: Account ID + required@bool: yes + type: freeform + text/prompt_fields: + label: Account fields to retrieve (comma-separated) + default: Name,NumberOfEmployees,Industry + required@bool: yes + type: freeform + + function/getAccount: + uri: cerb:automation:wgm.integrations.salesforce.account.get + inputs: + accountid: {{prompt_id}} + fields: {{prompt_fields}} + + output: results + + outcome/success: + if@bool: {{200 == results.status_code}} + then: + await: + form: + title: Account Details + elements: + say/details: + content@text: + {{results.body}} + submit: + buttons: + continue/yes: + label: Exit + icon: circle-ok + icon_at: start + value: yes + reset: + label: Make Another Query + icon: refresh + icon_at: start + + + + policy_kata@raw: + commands: + function: + deny/uri@bool: {{uri != 'cerb:automation:wgm.integrations.salesforce.account.get'}} + allow@bool: yes + toolbar_section/accountInteractionToolbar: + fields: + name: Get Account Info + toolbar_name: global.menu + priority@int: 50 + is_disabled: 0 + toolbar_kata@raw: + interaction/getAccount: + label: Get Account Info + uri: cerb:automation:wgm.integrations.salesforce.account.get.interaction +{% endraw %} +{% endhighlight %} + +# Configuration + +|--- +| Field | +|-|- +| **Salesforce Account:** | A Salesforce [connected account](/solutions/integrations/salesforce/). +| **Your Salesforce Domain:** | The domain of your Salesforce instance (the part before `my.salesforce.com`). +| **API Version:** | Your desired API version. Defaults to `v63.0` + +
+ +
+ +You can update the configuration at any time by opening the workflow profile and clicking "Edit Configuration". + +# Test the integration + +## Create an Account record +The workflow contains six example automation functions and a worker interaction for accomplishing various tasks. Let's try creating a new `Account` record. + +Click on `wgm.integrations.salesforce.account.create` to bring up its card and click **Edit**. From there you can click the play button on the simulator. This should create a new `Account` record called `Testerson LLC`. The automation output will also present you with the ID of the new record. + +## Retrieve record fields +The workflow adds a "Get Account Info" interaction to the global menu. Click the Cerb icon in the bottom right corner of the screen and click **Get Account Info**. + +
+ +
+ +Enter the Account ID you want to retrieve (you can use the `Testerson LLC` account we created earlier) and a comma-separated list of the account fields you want to retrieve, or use the defaults. + +
+ +
+ +You will be presented with the account fields you entered and their respective values. + +You can test the other automations in their simulators as well. + +# Next steps + +At this point you can modify the automations to meet your needs. You can use the responses from the [Salesforce API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest) in your automations. \ No newline at end of file diff --git a/assets/images/workflows/integrations-salesforce/global-menu.png b/assets/images/workflows/integrations-salesforce/global-menu.png new file mode 100644 index 00000000..233fe9bc Binary files /dev/null and b/assets/images/workflows/integrations-salesforce/global-menu.png differ diff --git a/assets/images/workflows/integrations-salesforce/interaction.png b/assets/images/workflows/integrations-salesforce/interaction.png new file mode 100644 index 00000000..b31d6e6c Binary files /dev/null and b/assets/images/workflows/integrations-salesforce/interaction.png differ diff --git a/assets/images/workflows/integrations-salesforce/workflow-config.png b/assets/images/workflows/integrations-salesforce/workflow-config.png new file mode 100644 index 00000000..5ca64201 Binary files /dev/null and b/assets/images/workflows/integrations-salesforce/workflow-config.png differ