Jitterbit LeadFlow Agent
Overview
Jitterbit provides the LeadFlow Agent to customers through Jitterbit Marketplace. This agent automates lead enrichment by connecting HubSpot form submissions to Salesforce and ZoomInfo, helping organizations maintain accurate and complete lead data without manual effort.
The agent retrieves form submissions from HubSpot, checks for matching lead records in Salesforce, and augments those records with additional contact and company data from ZoomInfo. Updated data is written back into Salesforce, and Slack notifications keep your team informed of execution status and errors.
The agent performs the following tasks:
- Retrieves available forms and submission data from HubSpot.
- Queries Salesforce to check whether a matching lead record exists using the submission email address.
- Updates the existing Salesforce lead record with data from the HubSpot submission.
- Authenticates with ZoomInfo to obtain a JWT token for enrichment API calls.
- Augments the Salesforce lead record with additional contact and company data from ZoomInfo.
- Writes the augmented lead data back into Salesforce.
- Sends Slack notifications after successful execution, including operation name, execution timestamp, and integration status.
This document explains how to set up and operate this AI agent. It covers architecture and prerequisites, and steps to install, configure, and operate the AI agent.
AI agent architecture
This AI agent connects HubSpot, Salesforce, and ZoomInfo to collect, update, and enrich lead records. A typical workflow follows these steps:
- The agent's operations run hourly on a schedule. The agent retrieves all available forms from HubSpot, then fetches submission records for each form.
- For each submission, the agent queries Salesforce using the submission email address to check whether a matching lead record exists.
- If a matching lead exists, the agent maps HubSpot submission fields to Salesforce lead fields and performs an upsert operation.
- The agent authenticates with ZoomInfo to obtain a JWT token, then sends the updated Salesforce lead data to the ZoomInfo Enrichment API to retrieve additional contact and company data.
- The agent writes the augmented data back into Salesforce, updating the lead record with additional contact and company information from ZoomInfo.
- After successful execution, the agent sends a Slack notification with the operation name, execution timestamp, and integration status.
- Each step logs its input and output payload to support troubleshooting and audit.
Workflow diagram
The following diagram depicts how the agent moves lead data from HubSpot through Salesforce and ZoomInfo.
HubSpot's two sequential API calls (retrieving forms, then submissions) are shown as a single exchange for clarity. ZoomInfo's authentication and enrichment calls are shown as separate nodes because they use distinct API endpoints.
Jitterbit LeadFlow
Agent" } HS[fab:fa-hubspot
HubSpot] SF[fab:fa-salesforce
Salesforce] ZIA[ZoomInfo Auth REST call] ZIE@{ shape: hex, label: "ZoomInfo Enrichment API" } SLK[fab:fa-slack
Slack] JSP -->|1. Get form submissions| HS HS -->|2. Submission data| JSP JSP -->|3. Query lead by email| SF SF -->|4. Lead record| JSP JSP -->|5. Upsert lead| SF JSP -->|6. Auth request| ZIA ZIA -->|7. JWT token| JSP JSP -->|8. Enrichment request| ZIE ZIE -->|9. Augmented lead data| JSP JSP -->|10. Update lead| SF JSP -->|11. Success notification| SLK
Prerequisites
You need the following components to use this AI agent.
Harmony components
You must have a Jitterbit Harmony license with access to the following components:
- Jitterbit Studio
- Jitterbit API Manager
- LeadFlow Agent purchased as a license add-on
Supported endpoints
The AI agent connects to the following external services. You can accommodate other systems by modifying the project's endpoint configurations and workflows.
HubSpot
The agent uses the HubSpot API to retrieve form definitions and submission records. You must have a HubSpot account with API access and a valid API key.
Salesforce
The agent uses the Salesforce REST API to query and update lead records. You must have a Salesforce account with credentials that have permission to read and write Lead objects.
ZoomInfo
The agent uses the ZoomInfo API to enrich lead data. You must have a ZoomInfo account with a client ID and client secret that have permission to call the enrichment API.
Notification service
The agent uses Slack to send success and error notifications. You must have a Slack webhook URL configured for the channel where notifications should be sent. You can replace Slack with another notification service by modifying the project's endpoint configurations and adapting the workflows to the schema required by your chosen service.
Installation, configuration, and operation
Follow these steps to install, configure, and operate this AI agent:
- Download and install the project
- Configure project variables
- Test connections
- Deploy the project
- Review project workflows
- Trigger the project workflows
For troubleshooting guidance, see Troubleshooting.
Download and install the project
Follow these steps to download and install the Studio project for the AI agent:
-
Log in to the Harmony portal at https://login.jitterbit.com and open Marketplace.
-
Locate the AI agent named Jitterbit LeadFlow Agent. To locate the agent, use the search bar or, in the Filters pane under Type, select AI Agent to limit the display to AI agents.
-
Click the AI agent's Documentation link to open its documentation in a separate tab. Keep the tab open for reference.
-
Click Start Project to open a two-step configuration dialog to import the AI agent as a Studio project.
Note
If you have not yet purchased the AI agent, Get this agent is displayed instead. Click it to open an informational dialog, then click Submit to have a representative contact you about purchasing the AI agent.
-
In configuration step 2, Create a New Project, select an environment where the Studio project will be created, then click Create Project.
-
A progress dialog is displayed. Once it indicates the project is created, use the dialog link Go to Studio or open the project directly from the Studio Projects page.
Configure project variables
In the Studio project installed from Marketplace, you must set values for the following project variables.
To configure project variables, use the project toolbar actions menu to select Project Variables to open a drawer at the bottom of the page where you can review and set values.
HubSpot
| Variable name | Description |
|---|---|
Hubspot_API_Key |
API key used to authenticate HubSpot API calls. |
Salesforce
| Variable name | Description |
|---|---|
Salesforce_Username |
Username for the Salesforce account used by the integration. |
Salesforce_Password |
Password for the Salesforce account used by the integration. |
ZoomInfo
| Variable name | Description |
|---|---|
ZoomInfo_Client_ID |
Client ID used to authenticate ZoomInfo API calls. |
ZoomInfo_Client_Secret |
Client secret used to authenticate ZoomInfo API calls. |
Slack
| Variable name | Description |
|---|---|
Slack_Webhook_URL |
Webhook URL for the Slack channel where notifications are sent. |
Test connections
Test the endpoint configurations to verify connectivity using the project variable values you configured.
To test connections, go to the design component palette's Project endpoints and connectors tab, hover over each endpoint, and click Test.
Deploy the project
Deploy the Studio project.
To deploy the project, use the project toolbar actions menu to select Deploy.
Review project workflows
Each workflow performs a specific function in the data flow across HubSpot, ZoomInfo, and Salesforce.
| Workflow | Description |
|---|---|
| HubSpot Forms Data Extraction | Retrieves available forms from HubSpot. |
| Form Submission Processing | Fetches and transforms form submission data. |
| Salesforce Lead Lookup | Queries Salesforce for a matching lead by email address. |
| Salesforce Lead Update | Upserts HubSpot submission data into the matching Salesforce lead. |
| ZoomInfo Authentication | Authenticates with ZoomInfo to retrieve a JWT token. |
| Token Extraction | Extracts the JWT token from the ZoomInfo authentication response. |
| Data Enrichment via ZoomInfo | Sends lead data to ZoomInfo and retrieves enriched information. |
| Post-Enrichment Salesforce Update | Writes enriched ZoomInfo data back into Salesforce. |
| Success Slack Notification | Sends a success notification to the configured Slack channel. |
HubSpot Forms Data Extraction
This workflow initializes the integration and retrieves all available forms from HubSpot. The operations in the workflow are configured to run hourly using operation schedules. The workflow filters and prepares the form data for use in the following submission processing workflow.
Form Submission Processing
This workflow retrieves submission records for each form obtained in the previous workflow. The workflow converts HubSpot submission data into the required integration format and stores the transformed payload for use in the Salesforce lead lookup workflow.
Salesforce Lead Lookup
This workflow queries the Salesforce Lead object using the submission email address as the primary key to check whether a matching lead record exists. The workflow stores the query results for use in the subsequent lead update workflow.
Salesforce Lead Update
This workflow maps HubSpot submission fields to Salesforce lead fields and performs an upsert operation on the matching lead record. The workflow stores the Salesforce response for use in the ZoomInfo enrichment workflow.
ZoomInfo Authentication
This workflow authenticates with ZoomInfo to obtain a JWT token required for enrichment API calls. The workflow sends an authentication request to the ZoomInfo Auth API and stores the response for use in the token extraction workflow.
Token Extraction
This workflow reads the ZoomInfo authentication response and extracts the JWT token. The workflow saves the token into global variables for use in the data enrichment workflow.
Data Enrichment via ZoomInfo
This workflow reads the updated Salesforce lead data and sends an enrichment request to the ZoomInfo Enrichment API. The workflow stores the enriched response for use in the post-enrichment Salesforce update workflow.
Post-Enrichment Salesforce Update
This workflow reads the ZoomInfo enrichment response, maps the enriched fields to the Salesforce Lead object, and updates the lead record in Salesforce with the enriched data.
Success Slack Notification
This workflow sends a success notification to the configured Slack channel after all workflows complete successfully. The notification includes the operation name, execution timestamp, and integration status.
Trigger the project workflows
The agent runs automatically on an hourly schedule. You can also trigger workflows manually.
To run an operation manually, hover over the operation name in Studio and select the Run option.
Tip
To change the schedule frequency, open the scheduled operation's actions menu and select Settings > Schedules.
Slack notifications
After successful execution, the agent sends a Slack notification to the channel configured in the Slack_Webhook_URL project variable.
Each notification includes the following information:
- Operation name
- Execution timestamp
- Integration status
Troubleshooting
If you encounter issues, review the following resources for detailed troubleshooting information:
For additional assistance, contact Jitterbit support.