Integrations
Connect your CRM, messaging, and webhook integrations so signals flow in and actions execute out.
Overview
Integrations connect external systems to the Signals pipeline. Every integration follows the same contract:
Inbound Event → Normalize → Pipeline → ActionsYou don't need to understand the internals. Just connect your accounts and signals flow automatically.
Supported integrations
GoHighLevel (GHL)
Status: Full integration (OAuth, inbound webhooks, outbound messaging, CRM write-back)
What it does:
- Receives inbound messages, contact creates, opportunity updates, form submissions, and appointments via webhook
- Sends replies through GHL Conversations API
- Updates contacts (tags, custom fields, notes) and manages opportunity pipeline stages
- Per-location tenant mapping for agency/sub-account setups
Supported events: Messages, contact creates/updates/deletes, opportunity creates/deletes, form submissions, appointments (create/update/delete)
Setup:
Option 1: GHL Marketplace (recommended)
- Install the Warpflow app from the GHL Marketplace
- Your account is provisioned automatically
- Complete the claim flow by verifying your email in the Signals dashboard
- Webhooks register automatically and messages start flowing
Option 2: Manual OAuth
- Go to Voice & Channels → Connections in the sidebar
- Click Connect GoHighLevel and authorize access to your GHL location
- Webhooks register automatically
Tokens are stored encrypted and refreshed automatically. For agencies, installing at the agency level automatically maps all locations to tenant configurations.
Voice & SMS
Status: Full integration (voice calls, SMS, WebRTC softphone, voicemail, recordings)
What it does:
- Provisions phone numbers (DID and toll-free)
- Receives inbound calls and routes to ring groups via WebRTC or PSTN forwarding
- Sends outbound SMS with automatic business name prepend (10DLC compliant)
- Handles voicemail with auto-transcription
- Records calls with encrypted storage and secure playback
- Powers the in-browser softphone for agents
Setup:
Phone numbers and voice features are configured through the Phone Setup wizard in the dashboard. See Set up phone & voice.
SMS requires 10DLC registration. See SMS Compliance.
Twilio
Status: Inbound webhooks + outbound SMS only
What it does:
- Receives inbound SMS and missed call webhooks
- Sends outbound SMS
- Validates webhook signatures for security
Note: Voice calls are handled by the Voice & SMS integration, not Twilio. Twilio is an SMS-only integration.
Setup:
- Configure your Twilio webhook URLs to point to the Warpflow API endpoints (provided during onboarding)
- Set your Twilio credentials in Voice & Channels → Connections
Zapier
Status: Inbound triggers + outbound actions
What it does:
- Receives events from any Zapier-connected app via webhook
- Provides triggers (new signal, lead scored, lead escalated) for Zapier workflows
- Supports authentication via API key
Setup:
- Use the Warpflow Zapier integration (or configure a custom webhook)
- Events sent to the Zapier webhook endpoint are normalized and processed through the full pipeline
Status: Full integration (OAuth, inbound webhooks, outbound via API, thread tracking)
What it does:
- Connects your Google Workspace or Microsoft 365 email via OAuth
- Receives inbound emails in real-time via webhooks
- Sends outbound email through the API with threading, aliases, and signatures
- Tracks email threads as conversations alongside SMS and voice
- Auto-discovers email aliases on your domain
Setup:
- Go to Voice & Channels → Email in the dashboard
- Click Connect Email Account and choose Google or Microsoft
- Authorize access in the OAuth flow (your credentials stay with the email provider, not Warpflow)
- Inbound emails begin flowing into the pipeline automatically
Email drafts generated by AI routing support thread-aware replies: the system preserves the email subject, from-alias, and reply-to-message-id so the customer sees a threaded conversation, not a new message.
For the step-by-step setup guide, see Connect Email. For API-level email operations, see the Email API developer guide.
Note: Email is not available for HIPAA-enabled tenants. The email integration does not currently support a BAA.
Custom webhooks
Status: Available for any system that can POST JSON
What it does:
- Accepts flexible JSON payloads from any source
- Normalizes and processes through the pipeline
- Supports async mode (default, full pipeline) and sync mode (rules-only, immediate response)
Sync mode: Get an immediate response with classification, score, and matched rules. Useful for form submissions, Typeform, Calendly, or any system that needs a real-time response.
Async mode: The event is queued for full pipeline processing (classify → score → route → reply → actions). The endpoint returns immediately with a confirmation.
Example payload:
{
"contact": {
"name": "Jane Doe",
"phone": "+15551234567",
"email": "jane@example.com"
},
"content": {
"body": "I need a quote for a kitchen remodel. Budget is $40k.",
"subject": "Quote Request"
},
"channel": "webhook",
"source": "typeform"
}Ideal for: Typeform submissions, Calendly events, custom CRM webhooks, IoT alerts, monitoring systems, or anything that can POST JSON.
How integrations work in the pipeline
┌─────────────────────────────────────────────┐
│ INBOUND SOURCES │
│ GHL │ Voice/SMS │ Email │ Zapier │ Custom │
└──┬───┴───┬────┴───┬────┴───┬────┴───┬───────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────┐
│ NORMALIZER LAYER │
│ Each source converts to a standard format │
└──────────────────┬──────────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ PIPELINE (same for all sources) │
│ classify → score → route → reply → guard │
└──────────────────┬──────────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ ACTION EXECUTION │
│ MessageSender │ CRMAdapter │ Escalation │
│ (GHL/SMS) │ (GHL/...) │ (Slack/SMS) │
└─────────────────────────────────────────────┘The key insight: every integration flows through the same pipeline. A GHL inbound message and a custom webhook event get the same classification, scoring, routing, and Signal Guard treatment.
Outbound adapters
When routing rules fire actions, the system uses provider-specific adapters:
| Action | GHL Adapter | Voice & SMS Adapter | Twilio Adapter | No Adapter (dry-run) |
|---|---|---|---|---|
| send_template | GHL Conversations | SMS | SMS | Logged only |
| update_crm | GHL Contacts/Opps | — | — | Logged only |
| escalate | GHL + Slack | SMS + Slack | SMS + Slack | Logged only |
| forward_call | — | Call Control | — | Logged only |
Actions degrade gracefully. If no adapter is connected, the action logs what it would have done instead of failing.
CRM operations
The update_crm action supports these operations:
| Operation | Description |
|---|---|
create_contact | Create a new contact in the CRM |
update_contact | Update existing contact fields |
add_note | Add a note to the contact record |
add_tag | Tag the contact (for example, "hot-lead," "ai-scored") |
update_stage | Move an opportunity to a pipeline stage |
Example: hot lead pipeline rule
{
"conditions": [{ "field": "score.tier", "op": "eq", "value": "hot" }],
"actions": [
{
"type": "update_crm",
"data": {
"operation": "update_stage",
"fields": {
"pipeline_id": "sales_pipeline_001",
"stage_id": "qualified",
"monetary_value": 5000
}
}
},
{
"type": "update_crm",
"data": {
"operation": "add_tag",
"fields": { "tags": ["hot-lead", "ai-scored"] }
}
}
]
}AI provider
Voice & Channels → Connections → AI Provider lets you configure how AI features (classification, scoring, reply generation, Signal Guard judge) are powered:
- Platform-managed (default): Warpflow provides the AI. No API key needed. Cost included in your plan.
- Bring Your Own Key (BYOK): Enter your own API key. Keys are stored securely. Use the "Test" button to validate your key before saving.
Tips
- GHL is the primary integration. It provides the richest feature set (messaging, CRM, pipeline management).
- Custom webhooks are the fastest path for any system not directly supported.
- Use sync mode for custom webhooks when you need an immediate response (for example, form submission acknowledgment).
- Check the Connections page to verify integration status and troubleshoot connectivity issues.
- Actions degrade gracefully. You can configure
update_crmrules before connecting a CRM. They log in dry-run mode until you connect.
For developers
Building a custom integration or connecting via API? See the Developer Docs for API authentication, webhook payloads, email API, Zapier actions, and code examples.
Test runner
Simulates a signal through the full pipeline so you can preview classification, scoring, routing, and reply generation before going live.
Industry presets
One-click configuration that loads routing rules, templates, brand voice, scoring weights, and Signal Guard rules tailored to your industry.