CRM Integrations β Salesforce, HubSpot
Connecting your CRM gives every Omniflow conversation real customer context: account tier, lifetime value, open deals, recent renewals. It also writes back β conversations and tickets become activities on the CRM record so your sales and CS teams see the full picture.
Supported CRMs
| CRM | Bidirectional? | Tools exposed |
|---|---|---|
| Salesforce (Sales Cloud, Service Cloud) | Yes | lookup_account, lookup_contact, update_case, create_task |
| HubSpot | Yes | lookup_contact, update_deal, create_engagement |
| Pipedrive | Read-only | lookup_person, lookup_deal |
| Zendesk Sell | Read-only | lookup_lead, lookup_deal |
Other CRMs can be wired up via Custom webhooks.
Connect Salesforce
Open Integrations
Settings β Integrations β Salesforce β Connect.
Pick environment
Production or sandbox. Picking sandbox lets you test the connector without affecting live data.
Authorize
Youβll be redirected to Salesforce. The connected user becomes the integration owner and the actor for write-backs β use a service account, not a personal user.
Pick objects
| Object | What it does |
|---|---|
| Account | Maps to Omniflow Companies. |
| Contact | Maps to Omniflow Contacts. |
| Lead | Optional β maps to Contacts. |
| Case | Maps to Omniflow Tickets. |
| Opportunity | Read-only context on contact / company records. |
Map fields
For each object, map source fields to Omniflow fields. Custom fields are supported β Omniflow creates matching columns on Contacts / Companies.
Choose write-back behavior
| Event | What gets written back |
|---|---|
| Conversation closed | A Task or completed Activity on the Contact + linked Case. |
| Ticket created | A Case (Service Cloud only). |
| Ticket resolved | Case status update + resolution comment. |
Save and run initial sync
Initial sync can take 5-60 minutes depending on volume. Subsequent syncs are incremental and run every ~5 minutes.
Connect HubSpot
The flow is the same β pick objects (Contacts, Companies, Deals, Tickets), map fields, choose write-back. HubSpotβs free tier limits some scopes; the connector tells you up-front if your plan blocks an option.
Using CRM data in conversations
Once synced, every Omniflow contact has a CRM panel:
- Account tier, lifetime value, deal stage.
- Open opportunities.
- Last 5 CRM activities.
- Direct link back to the CRM record.
Agents see this on every conversation; the AI agent has it as tool-callable context.
Using CRM data in agents
Every CRM connector exposes lookup tools the agent can call:
Agent: "Let me pull up your account..."
Tool call: salesforce_lookup_contact(email="maya@acme.com")
Tool result: {tier: "gold", arr: 25000, owner: "alex@acme.com"}
Agent: "I see you're on our gold plan β let me get this resolved quickly."Tools respect Salesforce field-level security. The integration userβs permissions limit what the agent can read and write.
Common pitfalls
| Pitfall | Fix |
|---|---|
| Duplicate contacts after sync | Run Contacts β Merge duplicates after the initial sync. |
| Custom fields not appearing | Re-run Sync schema after adding fields in Salesforce. |
| Write-backs failing silently | Check the integrationβs audit log β usually a missing scope or field permission. |
| Slow initial sync | Throttle the connector to off-hours under Settings β Integration schedules. |
Donβt grant the integration the System Administrator profile. Use a dedicated profile with object-level read + the specific writes you want β overly broad permissions are an audit risk.
Open in Omniflow
Related
| If you want to⦠| Go to |
|---|---|
| Use the CRM as an agent tool | Tools & Actions |
| Build routing rules from CRM data | Routing Rules |
| Sync from a CRM not on this list | Custom API & Webhooks |