# Salesforce

Your Toolhouse AI Worker can connect to Salesforce using 216 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=salesforce).

## Tools (216)

### `Salesforce Account Creation With Content Type Option`

Integration name: **SALESFORCE\_ACCOUNT\_CREATION\_WITH\_CONTENT\_TYPE\_OPTION**

DEPRECATED: Creates a new Salesforce Account using a JSON POST request, requiring 'Name'; specific fields (e.g., custom, DunsNumber) may have org-level prerequisites.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                 | Type    | Required | Example                          | Description                                                                                                                                               |
| ------------------------- | ------- | :------: | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Id`                      | string  |          | —                                | Unique identifier for the account (system-generated and read-only upon creation).                                                                         |
| `Fax`                     | string  |          | —                                | Fax number for the account.                                                                                                                               |
| `Sic`                     | string  |          | —                                | Standard Industrial Classification (SIC) code (max 20 chars). For business accounts only.                                                                 |
| `Name`                    | string  |          | —                                | Name of the account (required, max 255 chars). For Person Accounts, this is a concatenated field from the associated contact and not directly modifiable. |
| `Site`                    | string  |          | —                                | Name of the account’s specific location or site (max 80 chars).                                                                                           |
| `Type`                    | string  |          | `"Customer - Direct"`            | Type of account, influencing categorization and behavior.                                                                                                 |
| `Phone`                   | string  |          | —                                | Primary phone number for the account (max 40 chars).                                                                                                      |
| `Jigsaw`                  | string  |          | —                                | Data.com company ID reference (max 20 chars, API v22.0+). For business accounts. Read-only, do not modify.                                                |
| `Rating`                  | string  |          | `"Hot"`                          | Prospect rating (picklist).                                                                                                                               |
| `SLA__c`                  | string  |          | —                                | Custom field for Service Level Agreement (SLA) type/details.                                                                                              |
| `OwnerId`                 | string  |          | —                                | ID of the Salesforce user owning this account. 'Transfer Record' permission may be needed to update if not the API user (API v16.0+).                     |
| `SicDesc`                 | string  |          | —                                | Description of line of business based on SIC code (max 80 chars). For business accounts only.                                                             |
| `Website`                 | string  |          | —                                | Website URL of the account (max 255 chars).                                                                                                               |
| `Industry`                | string  |          | `"Agriculture"`                  | Primary industry of the account (picklist, max 40 chars).                                                                                                 |
| `ParentId`                | string  |          | —                                | ID of the parent account for subsidiary or hierarchical relationships.                                                                                    |
| `PhotoUrl`                | string  |          | —                                | URL path for the social network profile image (read-only). Blank if Social Accounts and Contacts is not enabled for the user.                             |
| `Active__c`               | string  |          | —                                | Custom field indicating if the account is active.                                                                                                         |
| `IsDeleted`               | boolean |          | —                                | Indicates if the account is in the Recycle Bin (read-only).                                                                                               |
| `NaicsCode`               | string  |          | —                                | NAICS code (6-digit industry classifier, max 8 chars). For business accounts. Requires Data.com Prospector/Clean.                                         |
| `NaicsDesc`               | string  |          | —                                | Description of line of business based on NAICS code (max 120 chars). For business accounts. Requires Data.com Prospector/Clean.                           |
| `Ownership`               | string  |          | `"Public"`                       | Ownership structure (picklist).                                                                                                                           |
| `DunsNumber`              | string  |          | —                                | D-U-N-S number (9-digit identifier, max 9 chars). For business accounts. Requires Data.com Prospector/Clean.                                              |
| `Tradestyle`              | string  |          | —                                | Organization's 'Doing Business As' (DBA) name (max 255 chars). For business accounts. Requires Data.com Prospector/Clean.                                 |
| `BillingCity`             | string  |          | —                                | City for the billing address (max 40 chars).                                                                                                              |
| `CleanStatus`             | string  |          | `"Matched"`                      | Data quality status compared with Data.com.                                                                                                               |
| `CreatedById`             | string  |          | —                                | ID of the user who created the account (read-only).                                                                                                       |
| `CreatedDate`             | string  |          | —                                | Date and time of account creation (read-only).                                                                                                            |
| `Description`             | string  |          | —                                | Text description of the account (max 32,000 chars).                                                                                                       |
| `YearStarted`             | string  |          | —                                | Year the organization was established (max 4 chars). For business accounts. Requires Data.com Prospector/Clean.                                           |
| `BillingState`            | string  |          | —                                | State or province for the billing address (max 80 chars).                                                                                                 |
| `ShippingCity`            | string  |          | —                                | City for the shipping address (max 40 chars).                                                                                                             |
| `TickerSymbol`            | string  |          | —                                | Stock market ticker symbol (max 20 chars). For business accounts only.                                                                                    |
| `AccountNumber`           | string  |          | —                                | Account number assigned to this account (max 40 chars).                                                                                                   |
| `AccountSource`           | string  |          | `"Web"`                          | Origin source of the account record (admin-defined picklist, values max 40 chars).                                                                        |
| `AnnualRevenue`           | integer |          | —                                | Estimated annual revenue.                                                                                                                                 |
| `BillingStreet`           | string  |          | —                                | Street address for the billing location.                                                                                                                  |
| `ShippingState`           | string  |          | —                                | State or province for the shipping address (max 80 chars).                                                                                                |
| `custom_fields`           | object  |          | `{"CustomerPriority__c":"High"}` | Dictionary of custom field API names and their values. Custom field names typically end with '\_\_c'.                                                     |
| `BillingCountry`          | string  |          | —                                | Country for the billing address (max 80 chars).                                                                                                           |
| `DandbCompanyId`          | string  |          | —                                | Associated Dun & Bradstreet company ID for D\&B integration (read-only).                                                                                  |
| `LastViewedDate`          | string  |          | —                                | Timestamp of when current user last viewed this account record (read-only).                                                                               |
| `MasterRecordId`          | string  |          | —                                | ID of the master record if this account was merged (read-only).                                                                                           |
| `ShippingStreet`          | string  |          | —                                | Street address for the shipping location (max 255 chars).                                                                                                 |
| `SystemModstamp`          | string  |          | —                                | Timestamp of last modification by user or automated process (read-only).                                                                                  |
| `BillingLatitude`         | integer |          | —                                | Latitude for the billing address (-90 to 90, up to 15 decimal places).                                                                                    |
| `JigsawCompanyId`         | string  |          | —                                | Associated Data.com company ID (read-only).                                                                                                               |
| `ShippingCountry`         | string  |          | —                                | Country for the shipping address (max 80 chars).                                                                                                          |
| `attributes__url`         | string  |          | —                                | Internal Salesforce field: Relative API URL for this SObject record. System-set or read-only.                                                             |
| `BillingLongitude`        | integer |          | —                                | Longitude for the billing address (-180 to 180, up to 15 decimal places).                                                                                 |
| `LastActivityDate`        | string  |          | —                                | Most recent due date of an event or closed task associated with the record (read-only).                                                                   |
| `LastModifiedById`        | string  |          | —                                | ID of the user who last modified the account (read-only).                                                                                                 |
| `LastModifiedDate`        | string  |          | —                                | Date and time of last modification (read-only).                                                                                                           |
| `OperatingHoursId`        | string  |          | —                                | ID of associated operating hours. Requires Salesforce Field Service.                                                                                      |
| `ShippingLatitude`        | integer |          | —                                | Latitude for the shipping address (-90 to 90, up to 15 decimal places).                                                                                   |
| `attributes__type`        | string  |          | —                                | Internal Salesforce field: Type of the SObject (e.g., 'Account'). System-set or read-only.                                                                |
| `BillingPostalCode`       | string  |          | —                                | Postal code for the billing address (max 20 chars).                                                                                                       |
| `NumberOfEmployees`       | integer |          | —                                | Number of employees (max 8 digits).                                                                                                                       |
| `ShippingLongitude`       | integer |          | —                                | Longitude for the shipping address (-180 to 180, up to 15 decimal places).                                                                                |
| `LastReferencedDate`      | string  |          | —                                | Timestamp of when current user last accessed this record or related items (read-only).                                                                    |
| `SLASerialNumber__c`      | string  |          | —                                | Custom field for SLA serial number.                                                                                                                       |
| `ShippingPostalCode`      | string  |          | —                                | Postal code for the shipping address (max 20 chars).                                                                                                      |
| `CustomerPriority__c`     | string  |          | —                                | Custom field for customer priority (e.g., High, Medium, Low).                                                                                             |
| `NumberofLocations__c`    | integer |          | —                                | Custom field for the number of physical locations.                                                                                                        |
| `SLAExpirationDate__c`    | string  |          | —                                | Custom field for SLA expiration date.                                                                                                                     |
| `UpsellOpportunity__c`    | string  |          | —                                | Custom field indicating upsell opportunity potential.                                                                                                     |
| `BillingGeocodeAccuracy`  | string  |          | `"Address"`                      | Accuracy level of the geocode for the billing address.                                                                                                    |
| `ShippingGeocodeAccuracy` | string  |          | `"Address"`                      | Accuracy level of the geocode for the shipping address.                                                                                                   |

***

### `Salesforce Add Contact To Campaign`

Integration name: **SALESFORCE\_ADD\_CONTACT\_TO\_CAMPAIGN**

Adds a contact to a campaign by creating a CampaignMember record to track campaign engagement. Fails if the contact is already a member of the campaign; pre-check membership via SOQL before calling.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                               | Description                                                                                                                                                                                                                                                                                                                          |
| --------------- | ------ | :------: | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `status`        | string |          | `"Sent"`                                              | The status of the campaign member. Common values include 'Sent', 'Responded'. The available statuses depend on campaign configuration. Value must exactly match a configured CampaignMember Status for the campaign; arbitrary strings will fail. Query the campaign's CampaignMemberStatus records first if unsure of valid values. |
| `contact_id`    | string |     ✅    | `"003XXXXXXXXXXXXXXX"`                                | The Salesforce ID of the contact to add to the campaign.                                                                                                                                                                                                                                                                             |
| `campaign_id`   | string |     ✅    | `"701XXXXXXXXXXXXXXX"`                                | The Salesforce ID of the campaign to add the contact to.                                                                                                                                                                                                                                                                             |
| `custom_fields` | object |          | `{"VIP_Member__c":true,"Member_Source__c":"Webinar"}` | Dictionary of custom field API names and their values for CampaignMember. Custom field names typically end with '\_\_c'.                                                                                                                                                                                                             |

***

### `Salesforce Add Lead To Campaign`

Integration name: **SALESFORCE\_ADD\_LEAD\_TO\_CAMPAIGN**

Adds a lead to a campaign by creating a CampaignMember record, allowing you to track campaign engagement. Both `campaign_id` and `lead_id` must be valid Salesforce IDs of active, existing records — names or emails cannot be substituted, and deleted or inactive records will cause the call to fail. This is a persistent CRM write; confirm the correct lead and campaign before calling.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                             | Description                                                                                                                                                                                                                                                              |
| --------------- | ------ | :------: | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `status`        | string |          | `"Sent"`                                            | The status of the campaign member. Common values include 'Sent', 'Responded'. The available statuses depend on campaign configuration. Value must exactly match one of the campaign's configured CampaignMember statuses; a mismatch will cause the call to be rejected. |
| `lead_id`       | string |     ✅    | `"00QXXXXXXXXXXXXXXX"`                              | The Salesforce ID of the lead to add to the campaign.                                                                                                                                                                                                                    |
| `campaign_id`   | string |     ✅    | `"701XXXXXXXXXXXXXXX"`                              | The Salesforce ID of the campaign to add the lead to.                                                                                                                                                                                                                    |
| `custom_fields` | object |          | `{"VIP_Member__c":true,"Member_Source__c":"Event"}` | Dictionary of custom field API names and their values for CampaignMember. Custom field names typically end with '\_\_c'.                                                                                                                                                 |

***

### `Salesforce Add Opportunity Line Item`

Integration name: **SALESFORCE\_ADD\_OPPORTUNITY\_LINE\_ITEM**

Adds a product (line item) to an opportunity. The product must exist in a pricebook entry that's associated with the opportunity's pricebook.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example                                                             | Description                                                                                                                                                                                                                                                                                                                                                          |
| -------------------- | ------ | :------: | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `discount`           | number |          | `10`                                                                | Discount percentage (0-100). Cannot be used with TotalPrice.                                                                                                                                                                                                                                                                                                         |
| `quantity`           | number |     ✅    | `1`                                                                 | The quantity of the product to add.                                                                                                                                                                                                                                                                                                                                  |
| `unit_price`         | number |          | `99.99`                                                             | The sales price per unit. If not specified, uses the standard price from the pricebook entry.                                                                                                                                                                                                                                                                        |
| `description`        | string |          | `"Premium support package"`                                         | Optional description for this line item.                                                                                                                                                                                                                                                                                                                             |
| `total_price`        | number |          | `500`                                                               | The total price for this line item. Cannot be used with UnitPrice or Discount.                                                                                                                                                                                                                                                                                       |
| `service_date`       | string |          | `"2025-12-31"`                                                      | Service date for the product in YYYY-MM-DD format.                                                                                                                                                                                                                                                                                                                   |
| `custom_fields`      | object |          | `{"Discount_Code__c":"Q4PROMO","Line_Item_Category__c":"Services"}` | Dictionary of custom field API names and their values. Custom field names typically end with '\_\_c'.                                                                                                                                                                                                                                                                |
| `opportunity_id`     | string |     ✅    | `"006XXXXXXXXXXXXXXX"`                                              | The Salesforce ID of the opportunity to add a product to.                                                                                                                                                                                                                                                                                                            |
| `pricebook_entry_id` | string |     ✅    | `"01uXXXXXXXXXXXXXXX"`                                              | The ID of the PricebookEntry that contains the product and price information. This links to a specific product in a specific pricebook. Entry must be active and match the opportunity's pricebook and currency; mismatches cause REQUIRED\_FIELD\_MISSING or INVALID\_CROSS\_REFERENCE\_KEY errors. Use SALESFORCE\_LIST\_PRICEBOOK\_ENTRIES to find valid entries. |

***

### `Salesforce Apply Lead Assignment Rules`

Integration name: **SALESFORCE\_APPLY\_LEAD\_ASSIGNMENT\_RULES**

Applies configured lead assignment rules to a specific lead, automatically routing it to the appropriate owner based on your organization's rules. Allow a brief propagation delay before querying updated ownership or field values after rule application.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                | Description                                                 |
| --------- | ------ | :------: | ---------------------- | ----------------------------------------------------------- |
| `lead_id` | string |     ✅    | `"00QWd000005V3RmMAK"` | The Salesforce ID of the lead to apply assignment rules to. |

***

### `Salesforce Associate Contact To Account`

Integration name: **SALESFORCE\_ASSOCIATE\_CONTACT\_TO\_ACCOUNT**

Associates a contact with an account by updating the contact's AccountId field. Overwrites any existing AccountId on the contact. For broader contact field updates alongside the account association, use SALESFORCE\_UPDATE\_CONTACT instead.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                                             | Description                                                                                                                    |
| --------------- | ------ | :------: | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `account_id`    | string |     ✅    | `"001XXXXXXXXXXXXXXX"`                              | The Salesforce ID of the account to associate the contact with.                                                                |
| `contact_id`    | string |     ✅    | `"003XXXXXXXXXXXXXXX"`                              | The Salesforce ID of the contact to associate with an account.                                                                 |
| `custom_fields` | object |          | `{"Account_Association_Source__c":"Manual Update"}` | Dictionary of custom field API names and their values to update on the contact. Custom field names typically end with '\_\_c'. |

***

### `Salesforce Clone Opportunity With Products`

Integration name: **SALESFORCE\_CLONE\_OPPORTUNITY\_WITH\_PRODUCTS**

Clones an opportunity and optionally its products (line items). Creates a new opportunity with the same field values and products as the original.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type    | Required | Example                    | Description                                                                                             |
| ---------------- | ------- | :------: | -------------------------- | ------------------------------------------------------------------------------------------------------- |
| `new_name`       | string  |          | `"Q4 Renewal Opportunity"` | Name for the cloned opportunity. If not specified, will append 'Clone of' to original name.             |
| `close_date`     | string  |          | `"2025-12-31"`             | Close date for the cloned opportunity in YYYY-MM-DD format. If not specified, uses original close date. |
| `stage_name`     | string  |          | `"Prospecting"`            | Stage for the cloned opportunity. If not specified, uses original stage.                                |
| `clone_products` | boolean |          | —                          | Whether to clone the opportunity's products (line items). Set to false to clone only the opportunity.   |
| `opportunity_id` | string  |     ✅    | `"006XXXXXXXXXXXXXXX"`     | The ID of the opportunity to clone.                                                                     |

***

### `Salesforce Clone Record`

Integration name: **SALESFORCE\_CLONE\_RECORD**

Creates a copy of an existing Salesforce record by reading its data, removing system fields, and creating a new record. Optionally apply field updates to the clone.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example                               | Description                                                                                                                                                                       |
| --------------- | ------ | :------: | ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `record_id`     | string |     ✅    | `"001XXXXXXXXXXXXXXX"`                | The ID of the record to clone.                                                                                                                                                    |
| `object_type`   | string |     ✅    | `"Account"`                           | The Salesforce object type to clone (e.g., Account, Contact, Lead, Opportunity).                                                                                                  |
| `field_updates` | string |          | `"{\"Name\": \"Clone of Original\"}"` | Optional field updates to apply to the cloned record as a JSON string. Use this to modify specific fields in the clone. Example: '{"Name": "Clone of Original", "Status": "New"}' |

***

### `Salesforce Close Or Abort Job`

Integration name: **SALESFORCE\_CLOSE\_OR\_ABORT\_JOB**

Tool to close or abort a Salesforce Bulk API v2 ingest job. Use when you need to finalize job processing by closing (state: UploadComplete) or cancel a job by aborting (state: Aborted). This is required for every ingest job - closing queues data for processing, while aborting cancels the job and deletes uploaded data.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example                | Description                                                                                                                                                                               |
| --------- | ------ | :------: | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `state`   | string |     ✅    | `"UploadComplete"`     | The state to update the job to. 'UploadComplete' closes the job and queues uploaded data for processing. 'Aborted' cancels the job and deletes any uploaded data. This field is required. |
| `job_id`  | string |     ✅    | `"750dN00000BITXdQAP"` | The unique identifier of the Bulk API v2 ingest job to close or abort.                                                                                                                    |

***

### `Salesforce Complete Task`

Integration name: **SALESFORCE\_COMPLETE\_TASK**

Marks a task as completed with optional completion notes. This is a convenience action that updates the task status to 'Completed'.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example                                                       | Description                                                                                                                             |
| ------------------ | ------ | :------: | ------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `task_id`          | string |     ✅    | `"00TXXXXXXXXXXXXXXX"`                                        | The Salesforce ID of the task to mark as completed.                                                                                     |
| `custom_fields`    | object |          | `{"Resolved__c":true,"Completion_Source__c":"Customer Call"}` | Dictionary of custom field API names and their values. Custom field names typically end with '\_\_c' (e.g., 'Completion\_Source\_\_c'). |
| `completion_notes` | string |          | `"Call completed successfully. Customer agreed to proceed."`  | Optional notes to add about the task completion. Will be appended to existing description.                                              |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/salesforce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
