Complete Manual

Integrations

Connect Shopify, your CRM, Google Sheets, Meta, LinkedIn, email, and SMS.

16 min readSidebar: IntegrationsSwitch to Quick Start
Who can see this: Hidden from agents and supervisors.

Complete reference for the Integrations section — every connector, exactly what each one needs, what it does once connected, and which direction data flows.

Hidden from agents and supervisors. There is no per-tab role gate beyond that; the backend authorises on organization membership.

For the fast path, use the Quick Start.

Section map#

Integrations is a single tabbed page at /integration/:tab, not one page per connector — which is why the tab bar stays put as you move between them. /integration redirects to /integration/overview.

TabPathConnection style
Overview/integration/overview
Email/integration/emailSMTP / IMAP credentials
SMS/integration/smsPick a Telnyx number
Sheets/integration/sheetsOAuth
Salesforce/integration/salesforceOAuth
Zoho/integration/zohoOAuth
HubSpot/integration/hubspotOAuth
monday/integration/mondayOAuth
Shopify/integration/shopifyApp Store OAuth, or a manual custom app
Meta Lead Ads/integration/metaAccess token + webhook
Meta Messaging/integration/meta-messagingTokens + webhook
LinkedIn Lead Gen/integration/linkedinAccess token

What is not available

Telegram, Slack, and Discord appear as options in one dropdown but have no tab, no overview card, and no working connection flow. They are not usable. Do not plan around them.

Overview#

Integrations → Overview.

Available Platforms cards the five messaging and email channels only:

PlatformDescription
WhatsApp BusinessConnect your chat widget to WhatsApp Business API for seamless customer communication
Email IntegrationConfigure SMTP email settings to send emails through workflow nodes
Facebook MessengerReach customers on Messenger. Free inside the 24h session window; outside the window we send with a Meta MESSAGE_TAG (configured per event).
Instagram Direct MessagesConnect an Instagram Business account. In-window replies are free; outside the window, re-engagement requires the HUMAN_AGENT tag.
SMS IntegrationSend and receive SMS on your phone numbers — used by workflow nodes, in-call tools, outbound triggers, and CRM ticket replies.

Each card carries an integration count and Get Started. WhatsApp, Facebook, and Instagram are badged Meta Messaging.

Overview is not a catalogue of the whole section. Sheets, the four CRMs, Shopify, Meta Lead Ads, and LinkedIn are absent — go to their tabs directly.

Tiles: Available Platforms, Chat Widgets, Active Integrations. A Recent Integrations table follows with Platform, Name, Status, Messages, Actions, and per-row Deactivate / Activate / Edit / Delete.

Statuses across the section are ACTIVE, INACTIVE, ERROR, and CONFIGURING.

Sheets#

Integrations → Sheets.

Spreadsheet AccountsConnect Google or Microsoft accounts to power sheet-based workflows. Two sections: Google Accounts (Google Sheets integration) and Microsoft Accounts (Excel Online integration).

Add account redirects you to the provider to approve access. Nothing is typed. You may connect several accounts per provider, each storing its own refresh token.

Cards show the account name and email, Connected {date}, a status badge (Active, Error, Disconnected), and DisconnectThis will remove the stored refresh token. Any automations using this account will stop working.

A card may warn · Refresh token missing, which means the connection cannot renew itself and will fail silently later. Reconnect it.

Empty: No {Provider} accounts connectedConnect an account to use Google Sheets in your workflows.

These accounts are used by more than workflows. Data collection spreadsheet sync and calendar sync both draw from this same list — see Audience.

Connect with calendar sync in mind. Calendar access is granted at connection time, so an account connected without it must be disconnected and reconnected before it can sync a calendar. There is no way to add the permission to an existing connection.

Salesforce#

Integrations → Salesforce.

Connect your Salesforce CRM to sync contacts, leads, and opportunities with your chat and call workflows. Each org's OAuth refresh token is stored securely.

Add Salesforce account redirects you to Salesforce. Multiple Salesforce orgs can be connected.

What the tab advertises as included:

  • Sync contacts and leads from Salesforce to your chat widget
  • Auto-create or update Salesforce records from chat and call interactions
  • Map custom Salesforce fields to data collection schemas
  • Trigger Salesforce flows on chat events

Per-account settings:

SettingNotes
Auto-sync with SalesforceWhen enabled, new contacts and tickets are pushed to Salesforce as Leads automatically.
Sync new tickets as Leads
Sync new contacts as Leads
Default Lead companye.g. Acme Co (falls back to email domain)

Direction is outbound: FloGPT pushes contacts and tickets into Salesforce as Leads. Each card reports Last sync or No syncs yet, plus Last error where one occurred — check that before assuming the sync is healthy.

Zoho, HubSpot, and monday#

Integrations → Zoho.

These three share one interface, configured per provider.

ProviderWhat it syncsTicket becomes
ZohoSync to Zoho CRM Leads / Contacts and Zoho Desk Tickets.Ticket (Zoho Desk) or Lead (Zoho CRM)
HubSpotSync to HubSpot Contacts and Service Hub Tickets.Ticket (Service Hub) or Contact only
monday.comMirror tickets and contacts as items on monday.com boards.Board item

All three connect over OAuth via Add {provider} account.

Shared per-account settings:

SettingNotes
Auto-sync with {provider}New contacts, tickets, status changes, and notes are mirrored automatically.
Sync new tickets
Sync new contacts
Mirror status & priority changes
Mirror private notes as comments
What floGPT tickets become in {provider}Per the table above
Default companyFalls back to email domain

monday additionally requires a Ticket board id and a Contact board id — without them it has nowhere to create items. Get them from the board URL.

Unlike Salesforce, these are a bidirectional mirror: cards report both Last push and Last inbound.

Think before enabling Mirror private notes as comments. Internal notes in FloGPT are written for teammates; mirroring them into a shared CRM makes them visible to a wider audience than their authors assume.

Disconnecting warns: The stored refresh token will be removed. Automations using this account will stop syncing.

Shopify#

Integrations → Shopify.

Shopify IntegrationsConnect Shopify stores once here, then reference them from workflow nodes and call pipelines.

The normal path

Connect with Shopify opens the Shopify App Store. Install FloGPT, approve the read-only permissions — Shopify handles the OAuth — and the store appears as Connected via Shopify automatically, no credentials to copy. App-managed rows are read-only here and badged Managed by your Shopify install.

Cards show API Version, Granted scopes, and Available actions as chips. Those chips are what workflow nodes and call pipelines can actually do with the store, so check them when a Shopify action is missing from a node.

Empty: No Shopify stores connectedInstall floGPT from the Shopify App Store to connect your store over OAuth and enable product lookup, order tracking, and customer info during AI conversations.

The manual path

Connect manually with a custom app exists for headless storefronts and is flagged accordingly: Advanced path for headless or non-Shopify storefronts. Most merchants should instead install floGPT from the Shopify App Store, which connects the store automatically over OAuth with no credentials to copy.

FieldNotes
NameShown when picking an integration on a workflow node or pipeline.
DescriptionOptional internal note
Store domainyour-store.myshopify.comJust the domain — no https:// prefix.
Client IDFrom your Shopify custom app
Client secretEncrypted at rest. Used to mint short-lived access tokens for storefront API calls.
API versionDefaults to 2026-01 if blank.

Manual integrations add Validate (which verifies the credentials and fetches scopes), Edit, and Delete. After creating one, validate it before wiring anything to it.

A store that has been through a GDPR redaction shows Store data redacted as a tombstone rather than disappearing.

Deleting warns that Workflow nodes and pipelines using it will need to be re-linked.

See FloGPT for Shopify for the storefront widget, catalogue sync, and the in-conversation Shopify tools.

Meta Lead Ads#

Integrations → Meta Lead Ads.

Connect Facebook Pages to leadgen webhooks and sync leads into a data collection.

Connecting a Page

FieldNotes
Namee.g. Flogpt Lead Ads
User Access TokenPages and forms will load automatically after entering a valid token.
Facebook PageLoaded from the token
Lead FormLoaded from the page

The form checks the token's Required permissions for you: pages_show_list, business_management, leads_retrieval, pages_read_engagement, pages_manage_metadata, pages_manage_ads. Missing any and it says so — Some permissions are missing. Re-generate your token in Meta App Dashboard with all required scopes. Generate the token with all six from the outset; adding them later means a new token.

Then choose where leads land — Use existing data collection or Create new (A new collection with name, email, and phone columns will be created automatically) — and optionally map Phone number, Email, and Full name to specific columns.

Finishing in Meta

After creating the integration you are shown Webhook callback URL and Verify tokenIntegration created — paste these into your Meta App Dashboard. The integration does nothing until you do.

Then press Subscribe page to attach the page to the leadgen webhook.

Ongoing lead flow

Leads arrive inbound by webhook. Sync leads pulls manually and reports Sync complete — {added} added, {skipped} skipped. Cards show leads ingested and the last lead time.

Watch the token pills: Token expiring soon and Token expired appear ahead of and after expiry. An expired token silently stops lead capture, which is an expensive thing to notice late. Rotate token regenerates the verify token — remember to update Meta afterwards.

Leads captured here can fire outbound calls; see AI Calls.

Meta Messaging#

Integrations → Meta Messaging.

Configure WhatsApp Business, Messenger, and Instagram against your Meta apps. All three share the 24-hour customer-service session window — replies inside the window are free; outside the window WhatsApp uses approved templates (billable), Messenger uses MESSAGE_TAG, and Instagram requires HUMAN_AGENT.

Understand that window before configuring anything. Inside 24 hours of the customer's last message you can reply freely. Outside it, each channel has a different, restricted, and in WhatsApp's case billable mechanism.

Sub-tabNote
WhatsApp BusinessTemplates for first-touch sends + free session messages within 24h.
MessengerFree inside the 24h window; outside, re-engage via MESSAGE_TAG.
InstagramDirect messages; outside-window re-engagement requires HUMAN_AGENT.

WhatsApp Business

Two independent channels:

ChannelMeaning
Outbound — notificationsOrder updates, alerts and template sends
Inbound — repliesAI answers customer messages via a chat widget — requires a Reply Chat Widget
FieldNotes
Webhook URLRead-only, with Copy and Reset
Phone Number ID *e.g., 123456789012345
Access Token *From your Meta app
Verify Token *You invent it; Generate creates one. Paste the same value into Meta
Business Account ID (WABA ID)optional but required for templates
API Base URLAdvanced; defaults to the current Graph API

The WABA ID is labelled optional and effectively is not. Without it you cannot sync templates, and without templates you cannot start a conversation or reply outside the 24-hour window at all.

Templates and spend

With a WhatsApp integration in place, a templates panel appears.

Approved TemplatesAuthored in Meta Business Manager. Synced from your WABA. Sync from Meta pulls them into a table of Name, Lang, Category, Status, Params. Templates are written and approved in Meta, not here.

Billing & Spend breaks estimated current-month spend into Authentication, Utility, Marketing, and Service (free), and offers a Monthly spend cap (USD)Once exceeded, template sends are skipped automatically.

Set the cap. It is the only thing standing between a misconfigured campaign and an unbounded Meta bill — and note that exceeding it causes sends to be skipped, so set it high enough that legitimate traffic survives.

Send a test takes a Recipient, a Template, and pipe-separated Parameters (John|ORDER123), and reports the message id and approximate cost.

Messenger and Instagram

ChannelFields
MessengerPage ID, Page Access Token, Verify Token, read-only Webhook URL, Re-engagement event mappings (MESSAGE_TAG per event)
InstagramInstagram Business Account ID, Access Token, Verify Token, read-only Webhook URL, Re-engagement event mappings (HUMAN_AGENT only)

Both need the webhook URL and verify token pasted into Meta App Dashboard → Webhooks.

Each integration also has Enable auto-reply and Enable notifications, and cards report Sent, Received, and Failed with Deactivate, Activate, Sync, Test, Edit, and Delete.

LinkedIn Lead Gen#

Integrations → LinkedIn Lead Gen.

Poll the LinkedIn Marketing API for new lead-gen form submissions and dispatch them to outbound triggers. Default sync cadence is every 5 minutes.

The prerequisite

This one has a real barrier before any configuration. You must be approved on LinkedIn's Marketing Developer Platform with access to the Lead Sync API and the Advertising API (optionally Sign In with LinkedIn using OpenID Connect). That approval process takes weeks. Start it before planning around this integration.

Connecting an account

FieldNotes
Namee.g. Acme B2B Demo Account
Organisation URNurn:li:sponsoredAccount:1234567890From Campaign Manager. The full URN, including the urn:li: prefix.
Organisation nameOptional, for display
Access tokenOAuth access token with leadgen + reporting scopes. Encrypted at rest.
Refresh token (optional — enables auto-renewal)Supply it
API versionDefaults to 202403

Supply the refresh token. Without it the access token expires and lead capture stops until someone notices.

Ongoing polling

A cron polls every 5 minutes; Sync now runs it immediately. Cards show Total leads ingested, Subscribed forms, API version, Last sync, and token expiry, with pills for Token missing and Refresh missing.

Leads feed the outbound trigger system — see AI Calls — which is how a form submission becomes a phone call within minutes.

Email#

Integrations → Email.

Configure SMTP email settings to send emails through workflow nodes.

Direction

OptionMeaning
Outbound (SMTP)Send from workflows / replies
Inbound (IMAP)Auto-create tickets from mail
BothOne mailbox, both directions

Quick Setup prefills host and port for Gmail, Outlook, Yahoo, or Amazon SES.

SMTP (outbound)

FieldNotes
SMTP Host *e.g. smtp.gmail.com
SMTP Port *587 (TLS), 465 (SSL), or 25 (unencrypted)
SMTP Username *
SMTP Password *For Gmail, use an App Password. Stored encrypted and never shown again.
From Email *
From Name

Use an app password, not your account password — with 2FA on the mailbox, the account password will simply fail.

IMAP (inbound)

The poller checks UNSEEN messages in INBOX and converts each one into a CRM ticket…

FieldNotes
IMAP Host *e.g. imap.gmail.com
IMAP Port *993 (SSL) is standard
IMAP Username *Usually the same as your support mailbox address
IMAP Password *
Poll Interval (seconds)Minimum 10s. Gmail recommends ≥ 30s.
Use SSL/TLS (recommended)

Because the poller acts on UNSEEN messages in INBOX, anything else reading that mailbox and marking mail as read will cause tickets to be missed. Give FloGPT its own mailbox, or a dedicated folder-free support address.

Whether inbound mail actually creates tickets is also governed by the Email channel in Support → Settings.

Test Connection verifies before you rely on it. Test sends a real message to an address you supply.

Where the organization is Shopify-managed and has an outbound email integration, an Email Notifications panel appears for Shopify order notifications — Email your customers as their order progresses.

SMS#

Integrations → SMS.

Send and receive SMS on your phone numbers — used by workflow nodes, in-call tools, outbound triggers, and CRM ticket replies.

FieldNotes
Direction *Outbound (Send only), Inbound (Auto-create CRM tickets from replies), Both
From Number *A Telnyx number already on your workspace

There is no API key here — The platform key authenticates send + receive — no API key required here.

The prerequisite is a number: Buy a Telnyx number under Calls → Phone Numbers first, then return here to wire it up for SMS. With none bought you see No Telnyx numbers available. Indian numbers are routed through MSG91 automatically.

Test prompts for an E.164 recipient — e.g. +1234567890.

Spend and delivery are reported in Insights → SMS.

Troubleshooting#

SymptomUsual cause
Sheets, CRM, or Shopify missing from OverviewOverview only cards the five messaging and email platforms — use the tabs
Telegram, Slack, or Discord in a dropdownNot implemented; ignore them
Calendar sync says permission missingThe Google or Microsoft account was connected without calendar scope — disconnect and reconnect
· Refresh token missing on an accountThe connection cannot renew; reconnect it
CRM sync silently stoppedCheck Last error on the account card, and whether the refresh token is present
monday creates nothingTicket board id / Contact board id not set
Internal notes visible to more people than expectedMirror private notes as comments is on
A Shopify action is missing from a workflow nodeCheck Granted scopes and Available actions on the store card
Manual Shopify integration not workingPress Validate to verify credentials and fetch scopes
No Meta leads arrivingWebhook URL and verify token not pasted into Meta, or Subscribe page never pressed
Meta leads stopped arrivingThe user access token expired — watch the Token expiring soon pill
Cannot sync WhatsApp templatesBusiness Account ID (WABA ID) is missing
WhatsApp template sends being skippedThe Monthly spend cap was exceeded
Cannot message a customer at allYou are outside Meta's 24-hour window and have no approved template
LinkedIn connection rejectedMarketing Developer Platform approval for Lead Sync and Advertising APIs is required
LinkedIn leads stoppedNo refresh token, so the access token expired
Gmail SMTP authentication failsUse an App Password, not the account password
Inbound email creates no ticketsAnother client is marking mail read, or the Email channel is paused in Support → Settings
SMS From Number list emptyBuy a Telnyx number under Calls → Phone Numbers first