Warpflow
Signals

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 → Actions

You 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)

  1. Install the Warpflow app from the GHL Marketplace
  2. Your account is provisioned automatically
  3. Complete the claim flow by verifying your email in the Signals dashboard
  4. Webhooks register automatically and messages start flowing

Option 2: Manual OAuth

  1. Go to Voice & Channels → Connections in the sidebar
  2. Click Connect GoHighLevel and authorize access to your GHL location
  3. 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:

  1. Configure your Twilio webhook URLs to point to the Warpflow API endpoints (provided during onboarding)
  2. 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:

  1. Use the Warpflow Zapier integration (or configure a custom webhook)
  2. Events sent to the Zapier webhook endpoint are normalized and processed through the full pipeline

Email

Status: New email connections are not available yet

What it does:

  • Accounts with an existing connection can view its current status
  • Existing connections remain manageable, and account owners can disconnect them
  • Account policy may restrict availability further

Setup:

If your account already has an email connection, use the existing email page to review or disconnect it.

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 │ Existing email │ Zapier │ Custom  │
└──┬───┴───┬────┴───┬────┴───┬────┴───┬───────┘
   │       │        │        │        │
   ▼       ▼        ▼        ▼        ▼
┌─────────────────────────────────────────────┐
│              NORMALIZE                       │
│  Each source converts to a standard format   │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│         PIPELINE (same for all sources)      │
│  classify → score → route → reply → guard   │
└──────────────────┬──────────────────────────┘
                   ▼
┌─────────────────────────────────────────────┐
│           ACTION EXECUTION                   │
│  Send message │ Update CRM │ Escalate       │
│  (GHL/SMS)    │ (GHL/...)  │ (Slack/SMS)    │
└─────────────────────────────────────────────┘

Email represents an existing connection in this diagram; new email connections are not available yet.

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:

ActionGHL AdapterVoice & SMS AdapterTwilio AdapterNo Adapter (dry-run)
send_templateGHL ConversationsSMSSMSLogged only
update_crmGHL Contacts/Opps——Logged only
escalateGHL + SlackSMS + SlackSMS + SlackLogged 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:

OperationDescription
create_contactCreate a new contact in the CRM
update_contactUpdate existing contact fields
add_noteAdd a note to the contact record
add_tagTag the contact (for example, "hot-lead," "ai-scored")
update_stageMove 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_crm rules 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, supported API operations, Zapier actions, and code examples.

On this page

We use cookies to understand how you use our site and improve your experience. Privacy Policy