---
schema_version: "1"
id: 089b5cd4d8d52336e2ac5c3db5b158d9e2f0b9a2fad2211cc5913da7648906fa
title: Create a Custom HTTP Integration in Agentforce Operations
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/automate_afsc_integrations_custom_http_create.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.automate_afsc_integrations_custom_http_create.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: f38b737ff74d3114a83110003d37d63b2422441324d7c7ef65a737d19e50d3e7
description: Create a Custom HTTP integration to connect Agentforce Operations to an external API. Use Custom HTTP integrations to send or retrieve data during workflow execution.
products:
  - Cross Cloud
release: "264"
---
# Create a Custom HTTP Integration in Agentforce Operations

Create a Custom HTTP integration to connect Agentforce Operations to an external API. Use Custom HTTP integrations to send or retrieve data during workflow execution.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="1" style="text-align:left;vertical-align:top;" id="d13436e39">License Required</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="License Required" class="slds-cell-wrap" style="vertical-align:top;" headers="d13436e39 ">
              <p>This feature is a workspace that’s external to your Salesforce org and requires
                an Agentforce Operations license. </p>
              <p style="margin-bottom:0;">To purchase an Agentforce Operations license, contact your Salesforce account
                executive.</p>
            </td>

          </tr>
        </tbody>
      </table> <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:left;vertical-align:top;" id="d13436e73">Role or Access Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Role or Access Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d13436e73 ">To manage integrations in Agentforce Operations:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d13436e73 ">Admin role or Integration Admin role</td>

          </tr>
        </tbody>
      </table>

To create a Custom HTTP integration, configure the request settings, configure how to extract data from the response, and then test the connection. After you create the integration, it's available to use in blueprints as an automation task.

1. In the navigation sidebar, click **Admin**.
2. Click the **Integrations** tab.
3. Click **\+ Add integration**.
4. Select **Custom HTTP** and click **Next**.
5. Enter a name for the integration.
6. Optionally, for Type, select an authentication type and provide credentials.
    - **Bearer Token**
    - **OAuth 2.0**
7. For Base URL, enter the root URL of the API. For example, https://example.com.
8. For Method, select the HTTP method that represents the action you want to take.
    - To get data, select **GET**.
    - To submit data and create a resource, select **POST**.
    - To replace a resource with new data, select **PUT**.
    - To update specific fields in a resource, select **PATCH**.
    - To remove a resource, select **DELETE**.
9. For Path, enter the path to the specific API endpoint. For example, /api/suppliers.
10. Optionally, for Headers, click **\+ Add header** and enter a key and value for each header required by the API. For each value, select **Field** to map to a workflow field or **Text** to enter a static value.
    
    For example, enter Content-Type as the key and application/json as the value. Agentforce Operations automatically includes metadata headers that identify the originating workflow, stage, and task with every request.
11. Optionally, for Query parameters, click **\+ Add parameter** and enter a key and value for each parameter to append to the request URL. For each value, select **Field** to map to a workflow field or **Text** to enter a static value.
    
    For example, enter status as the key and active as the value to send `?status=active`.
12. Optionally, configure the request body.
    - For **Body (form-data)**, click **\+ Add value** and enter a key and value for each field to include in the request body. For each value, select **Field** to map to a workflow field or **Text** to enter a static value.
        
        ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-agentforce_operations-264-0-0-production-enus/dce314e6-0a31-4a8b-98f7-3d2a3fd02ee2/images/icon_note.png)
        
        Note Use Body (form-data) or Body (JSON), not both.
    - For **Body (JSON)**, click **\+ Add value** and enter a key and value for each field to include in the request body. For each value, select **Field** to map to a workflow field or **Text** to enter a static value. To create nested JSON, prefix the key with a period. For example, `.order.supplierId` produces `{"order": {"supplierId": "value"}}`.
        
        ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-agentforce_operations-264-0-0-production-enus/dce314e6-0a31-4a8b-98f7-3d2a3fd02ee2/images/icon_note.png)
        
        Note Use Body (form-data) or Body (JSON), not both.
13. For HTTP Response, click **\+ Add value** and configure each value to extract from the API response.
    1. Enter a **JSON Path expression** describing where the value is in the response payload.
        
        For example, to extract a city name from a postal code lookup response, use: `.places[0]["place name"]`. To extract the state abbreviation, use: `.places[0]["state abbreviation"]`.
    2. Select the Agentforce Operations field to map the extracted value to.
        
        Select a field that matches the data type being extracted. For example, map an array of strings to a multi-select field.
14. Optionally, to automatically invite users returned in the response who aren't yet workspace users, select **Invite new people if they don't already exist in this workspace** .
15. Click **Next**.
16. For Health check, select how often Agentforce Operations should check that the integration is still connected.
    - **Disabled**
    - **Daily**
    - **Hourly**
17. If you selected Daily, for Repeats at, configure the time of day to run the check.
18. If you selected Daily or Hourly, for Health check path, enter the relative path of a health or status endpoint that the service provides, such as /health or /status.
    
    Agentforce Operations combines the path with the base URL and sends an unauthenticated GET request on your schedule. The endpoint must return a 200 response. Check the service's API documentation for its health endpoint. If it doesn't have one, select **Disabled** instead.
19. If you selected Daily or Hourly, select who to notify if the health check fails.
20. Click **Create**.
    
    The integration configuration panel closes.
21. In the integration list, find your new integration.
22. Click the three-dot dropdown list next to the integration and select **Edit**.
    
    The integration configuration panel opens.
23. Open the **Test HTTP request** section and click **Test**.
24. Check that the test results match your expectations.
    - If the test meets your expectations, close the integration configuration window.
    - If the test doesn't work as expected, modify the integration, and save your changes.

The integration is available to use in blueprints. To add the integration to a blueprint, create an automation task and select the Custom HTTP integration.

#### See Also

- [Add a Custom HTTP Integration to a Blueprint in Agentforce Operations](https://help.salesforce.com/s/articleView?id=platform.automate_afsc_integrations_custom_http_blueprint.htm&release=264.0.0&type=5 "Add a custom HTTP automation task to a blueprint stage to automatically send or retrieve data when a workflow reaches that stage.")
- [Example Simple Custom HTTP Integration in Agentforce Operations](https://help.salesforce.com/s/articleView?id=platform.automate_afsc_integrations_custom_http_example.htm&release=264.0.0&type=5 "Walk through an end-to-end example of creating a custom HTTP integration that looks up city and state information for a US postal code, and then adding it to a blueprint as an automation task.")