Skip to Content
IntegrationsCRM (Salesforce, HubSpot)

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

CRMBidirectional?Tools exposed
Salesforce (Sales Cloud, Service Cloud)Yeslookup_account, lookup_contact, update_case, create_task
HubSpotYeslookup_contact, update_deal, create_engagement
PipedriveRead-onlylookup_person, lookup_deal
Zendesk SellRead-onlylookup_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

ObjectWhat it does
AccountMaps to Omniflow Companies.
ContactMaps to Omniflow Contacts.
LeadOptional β€” maps to Contacts.
CaseMaps to Omniflow Tickets.
OpportunityRead-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

EventWhat gets written back
Conversation closedA Task or completed Activity on the Contact + linked Case.
Ticket createdA Case (Service Cloud only).
Ticket resolvedCase 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

PitfallFix
Duplicate contacts after syncRun Contacts β†’ Merge duplicates after the initial sync.
Custom fields not appearingRe-run Sync schema after adding fields in Salesforce.
Write-backs failing silentlyCheck the integration’s audit log β€” usually a missing scope or field permission.
Slow initial syncThrottle 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

If you want to…Go to
Use the CRM as an agent toolTools & Actions
Build routing rules from CRM dataRouting Rules
Sync from a CRM not on this listCustom API & Webhooks