CRM Sync
CRM Sync
Section titled “CRM Sync”FormFlow can automatically send submission data to your CRM whenever a customer fills out one of your forms. Syncing happens in the background — you don’t need to do anything after the initial setup.
Supported CRMs
Section titled “Supported CRMs”| CRM | How You Authenticate |
|---|---|
| HubSpot | OAuth (Connect with HubSpot button) |
| Zoho CRM | OAuth (Connect with Zoho button) |
| Mailchimp | API key + Audience ID |
| Salesforce | OAuth (Connect with Salesforce button) |
| Klaviyo | Private API Key |
| Pipedrive | OAuth (Connect with Pipedrive button) |
| ActiveCampaign | API URL + API Key |
Connecting a CRM
Section titled “Connecting a CRM”- Go to Settings in the sidebar
- Find the CRM you want to connect and click on it
- Follow the steps below for your specific CRM
- Once connected, click Test Connection to verify everything is working
Once connected, new submissions will automatically be synced to that CRM.
HubSpot
Section titled “HubSpot”Click Connect HubSpot and sign in with your HubSpot account. FormFlow will request permission to create and read contacts on your behalf.
After connecting, click Configure field mappings to map your form fields to HubSpot contact properties.
Zoho CRM
Section titled “Zoho CRM”Click Connect Zoho CRM and sign in with your Zoho account. FormFlow will request permission to create and manage contacts on your behalf.
After connecting, click Configure field mappings to map your form fields to Zoho contact fields.
Mailchimp
Section titled “Mailchimp”| Field | Description |
|---|---|
| API Key | Your Mailchimp API key |
| Audience ID | The ID of the Mailchimp Audience (list) to sync contacts into |
After entering your credentials, click Test Connection to verify they work, then click Save.
Salesforce
Section titled “Salesforce”Click Connect Salesforce and sign in with your Salesforce account. FormFlow will request permission to create and query contacts in your org.
After connecting, click Configure field mappings to map your form fields to Salesforce Contact fields.
Note: FormFlow checks for an existing Contact with the same email address before creating a new one — duplicate contacts are not created.
Sandbox accounts: If you want to connect a Salesforce sandbox, you will need to use a Connected App configured for sandbox access (login URL: test.salesforce.com). Standard production orgs use login.salesforce.com.
Klaviyo
Section titled “Klaviyo”| Field | Description |
|---|---|
| Private API Key | Your Klaviyo Private API Key from Account → Settings → API Keys in your Klaviyo account |
After entering your API key, click Save. The key is validated before saving. Once saved, you can click Test Connection to confirm the connection is working, then click Configure field mappings to map your form fields to Klaviyo profile properties.
Per-Form List Assignment
Section titled “Per-Form List Assignment”When you enable Klaviyo on a form in the form builder, an optional List dropdown appears. If you select a list, profiles created from that form’s submissions will automatically be subscribed to that list. Leave it blank to create profiles without list assignment.
Supported profile properties:
| Klaviyo Property | Description |
|---|---|
email | Email address (required for sync) |
first_name | First name |
last_name | Last name |
phone_number | Phone number |
organization | Company or organization |
title | Job title |
location.city | City |
location.region | State or region |
location.zip | Zip / postal code |
location.country | Country |
location.address1 | Street address |
ActiveCampaign
Section titled “ActiveCampaign”| Field | Description |
|---|---|
| API URL | Your account-specific API URL (e.g. https://youraccountname.api-us1.com), found in Settings → Developer |
| API Key | Your API Key, also found in Settings → Developer in your ActiveCampaign account |
After entering both values, click Save. FormFlow validates the credentials before saving. Once saved, click Test Connection to confirm, then click Configure field mappings to map your form fields to ActiveCampaign contact fields.
Per-Form List Assignment
Section titled “Per-Form List Assignment”When you enable ActiveCampaign on a form in the form builder, an optional List dropdown appears. If you select a list, contacts created from that form’s submissions will automatically be subscribed to that list. Leave it blank to create contacts without list assignment.
Note: ActiveCampaign’s sync endpoint handles create-or-update natively — if a contact with the same email address already exists, it will be updated rather than duplicated.
Supported contact fields:
| ActiveCampaign Field | Description |
|---|---|
email | Email address (required for sync) |
firstName | First name |
lastName | Last name |
phone | Phone number |
Any custom fields you have created in ActiveCampaign will also appear in the field mapping list, identified by their field title.
Pipedrive
Section titled “Pipedrive”Click Connect Pipedrive and sign in with your Pipedrive account. FormFlow will request permission to create and search for persons (contacts) in your Pipedrive account.
After connecting, click Configure field mappings to map your form fields to Pipedrive person fields.
Note: FormFlow searches for an existing Person with the same email address before creating a new one — duplicate person records are not created.
Supported person fields:
| Pipedrive Field | Description |
|---|---|
name | Full name (required) |
email | Email address |
phone | Phone number |
org_id | Organisation ID |
label | Label / tag (numeric ID from Pipedrive) |
visible_to | Visibility setting (1–7) |
Any custom person fields you have created in Pipedrive will also appear in the field mapping list.
Field Mappings
Section titled “Field Mappings”By default, FormFlow sends submission data to your CRM using the field names from your form. If your CRM uses different field names, you can set up field mappings.
To configure field mappings:
- Go to Settings and open your CRM tab
- Click Configure Field Mappings
- For each mapping, choose a source field (from your form submissions) and the matching target field in your CRM
- Click Save Mappings
Source fields are detected automatically from recent submissions. Target fields are loaded live from your CRM.
Sync Status
Section titled “Sync Status”Each submission has a sync status that reflects what happened when FormFlow tried to send it:
| Status | Meaning |
|---|---|
| Pending | Waiting to be synced |
| Synced | Successfully sent to the CRM |
| Failed | Something went wrong — see Sync Logs for details |
What Happens When Sync Fails
Section titled “What Happens When Sync Fails”If a sync fails, FormFlow retries automatically. If it continues to fail:
- The error is recorded in Sync Logs
- You can retry manually from the Sync Logs page or from the Submissions page
If your credentials are invalid or have expired, the integration is automatically paused and a warning is shown on your Dashboard. Update your credentials in Settings to resume syncing.
Manually Triggering a Sync
Section titled “Manually Triggering a Sync”You can manually sync one or more submissions from:
- Submissions page — Select submissions and use the Sync selected bulk action
- Sync Logs page — Click Retry on any failed log entry
- Dashboard — Click Sync Now to re-attempt all pending and failed submissions