Skip to main content
This integration enables your sales reps to autonomously launch Cargo actions directly associated to a contact or account without leaving the CRM. Perfect for on-demand company research, contact enrichment, and lead scoring.

Prerequisites

What you’ll need to make this possible:
RequirementDescription
Salesforce admin accessRequired to create flows, named credentials, and custom buttons—and to create the SFDC connector in Cargo (if not already the case)
Cargo workspaceWith write access and a Tool already configured
API accessYour Cargo API token and tool endpoint URL

Step 1 - Create and configure a Tool in Cargo

Create a new Tool in Cargo that will handle the account research and Salesforce updates.
Configure your tool with:
  • AI prompt for account research
  • Salesforce Update action to update the Account record
  • Input parameters to receive data from Salesforce
Once saved, your tool will provide a webhook URL:
https://api.getcargo.io/v1/tools/<TOOL_UUID>/execute?token=<API_TOKEN>
PlaceholderDescription
<TOOL_UUID>Your unique tool ID
<API_TOKEN>Your Cargo API token

Step 2 - Create a named credential

Named credentials store the Cargo API endpoint securely within Salesforce.
  1. Go to Setup → Named Credentials
  2. Click New and select Legacy Named Credential
  3. Enter the label and URL for your Cargo endpoint
  4. Save the credential

Step 3 - Register an external service

External services allow Salesforce to communicate with the Cargo API. In Setup → External Services, register a new service.
Select the named credential you just created and register the service with the following OpenAPI schema:
{
  "openapi": "3.0.1",
  "info": {
    "title": "Cargo",
    "description": ""
  },
  "paths": {
    "CARGOPATH": {
      "post": {
        "description": "",
        "operationId": "Query Cargo",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "description": "",
            "required": false,
            "allowEmptyValue": false,
            "schema": { "type": "string" }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountId": { "type": "string" },
                  "linkedinUrl": { "type": "string" },
                  "domain": { "type": "string" },
                  "name": { "type": "string" },
                  "linkedinId": { "type": "string" },
                  "ownerId": { "type": "string" }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "2XX": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": { "type": "string" }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
Replace CARGOPATH with your actual Tool URL from Cargo. Use only the path portion starting with /v1 and ending with execute:
/v1/tools/e276dc32-aca1-4136-bbe7-dce879346c58/execute
The properties in the schema must match the fields you’ll configure in Step 4.2. For example:
{
  "ownerId": { "type": "string" },
  "accountId": { "type": "string" },
  "domain": { "type": "string" }
}

Step 4 - Create a flow

Flows orchestrate the entire integration—retrieving data from Salesforce, sending it to Cargo, and handling the response.

4.1 - Retrieve account records

Create a flow that pulls account records from Salesforce.

4.2 - Map fields in an assignment step

Map the Salesforce fields to the inputs required by your Cargo HTTP call.
Specify the JSON schema for the HTTP callout—this must align with the schema from Step 3. Use placeholder values to configure the action:
{
  "accountId": "0018b00002ABCDeAA1",
  "domain": "example.com",
  "ownerId": "0058b00001XYZAbAA1"
}

4.3 - Add a screen step at the end of the flow

Add a screen element to display results or request user input before the flow completes.

4.4 - Map HTTP callout variables to the assignment action

Connect the variables created during the HTTP callout configuration to your assignment action. This ensures data flows correctly through the flow.

Step 5 - Add a custom button to your Accounts interface

Finally, create the button that sales reps will use to trigger the flow. Go to Setup → Object Manager → Account → Buttons, Links, and Actions.
  1. Create a new Flow Button
  2. Link it to the flow you built in Step 4
  3. Add the button to the Account page layout

Testing your integration

Verify the setup

  1. Test the button — Click your custom button on an Account record
  2. Check the flow — Ensure the flow runs without errors
  3. Monitor the Tool — Verify the Cargo Tool executes and updates the Salesforce record
  4. Review results — Confirm the Account record is updated with the research data

Troubleshooting

  • Check that the custom button is properly linked to the flow - Verify the flow is active and has the correct permissions
  • Verify the named credential is correctly configured - Check that the API token is valid and has proper permissions - Ensure the tool ID in the URL matches your Cargo tool
  • Confirm the tool is receiving data from Salesforce - Check that the Tool is active and properly configured - Verify the Salesforce update action has the correct field mappings

Next steps

Once your integration is working:
ActionDescription
Train your teamShow reps how to use the new button
Monitor usageTrack which accounts are being researched
Optimize promptsRefine your Tool’s AI prompts based on results
Scale upAdd similar buttons for Contacts or Leads