External CRM Integration & Contact Syncing
QuickReply.ai can sync your Contacts/Leads to any external CRM that exposes HTTP APIs or webhooks.
Overview
QuickReply.ai can sync your Contacts/Leads to any external CRM that exposes HTTP APIs or webhooks.
With this integration you can:
Create new leads in your CRM whenever QuickReply.ai captures a new contact
Update existing leads in your CRM whenever contact attributes change in QuickReply.ai
Optionally fetch and de-duplicate leads in your CRM before creating new ones
QuickReply.ai calls your CRM APIs over HTTPS (JSON or form-encoded), using your auth mechanism (e.g. static API key).
How it Works (High-level Flow)
A contact changes in QuickReply.ai
New contact created (from Popup / Website Chat/ WhatsApp chat or Instagram Chat, etc.)
Existing contact updated (name, email, tags, attributes, etc.)
QuickReply.ai prepares a payload
Typical fields:
phone– with country code (recommended primary identifier)email– optional identifiername– full name of the contactcustom_fields– key–value attributes mapped to your CRM schemaOptionally:
lead_id/contact_id– if previously returned by your CRM
QuickReply.ai calls your CRM endpoints
Depending on configuration, QuickReply.ai will:
Directly call Create Lead for new contacts
Call Fetch Lead first (using phone/email/lead_id), then decide to Create or Update
Call Update Lead whenever an existing contact changes in QuickReply.ai
CRM returns its Lead/Contact ID
On success, your CRM returns a unique identifier (e.g.
lead_id/contact_id).QuickReply.ai stores this and uses it for subsequent updates to avoid duplicates.
Sync Timing
Contacts are synced in near real-time.
By default, QuickReply.ai waits for ~5 minutes of inactivity before syncing to avoid noisy updates and excessive API calls.
Pre-requisites
To use this integration, you need:
An active QuickReply.ai account
An active CRM with APIs to:
Create a lead/contact
Fetch a lead/contact
Update a lead/contact
A static Auth Key / token or similar mechanism to secure your APIs
API Contract (Your CRM)
QuickReply.ai expects your CRM to expose three HTTP endpoints:
You can use any URL structure you like (e.g. /api/leads/create instead of /crm/create) as long as it matches the contract below.
🔐 All endpoints should:
Be served over HTTPS
Accept JSON payloads (preferred) or form-encoded body
Validate a shared
Auth-Key(or equivalent) in the headers
1. Creating a new Lead - CRM API
Endpoint
Headers
Auth-Key*
Authorization Header
Your shared API key / token (required)
Request Body
phone*
string
Phone number with country code
name*
string
Full name of the contact
string
Email address of the contact
custom_fields
Key-Value Pairs
Extra Attributes which you want to sync to the CRM, where the key-names are the respective schema field names in the CRM
Fields marked with * are Required.
Sample cURL request
API Response
2. Fetching an Existing Lead - CRM API
Used by QuickReply.ai to check if a lead already exists before creating a new one or to fetch your CRM’s lead_id.
Endpoint
If your stack prefers POST for this, you can use POST /crm/fetch with the same body
Headers
Auth-Key*
Authorization Header
Your shared API key / token (required)
Request Body (or query parameters)
At least one of these should be accepted:
phone
string
Fetch by phone (with country code)
string
Fetch by email
lead_id
string
Fetch by CRM lead ID (if already known)
At least 1 field should be available.
Sample cURL Request
API Response
3. Updating an Existing Lead - CRM API
Endpoint
or
Headers
Auth-Key*
Authorization Header
Your shared API key / token (required)
Path / Query Parameter
lead_id*
string
Respective Lead ID in the CRM (The same as returned in response from Fetch Lead API)
Request Body
phone*
string
Phone Number of the user (With Country Code)
name*
string
Full Name of the user
string
Email of the user
custom_fields
Key-Value Pairs
Extra Attributes which you want to sync to the CRM, where the key-names are the respective schema field names in the CRM
Fields marked with * are Required.
Sample cURL Request
API Response
Webhooks & Security Requirements
Endpoints must be publicly accessible HTTPS URLs
Accept JSON (recommended) or Form POST bodies
Support a static auth mechanism, such as:
Auth-KeyheaderAuthorization: Bearer <token>headerA shared secret in the body/query (less secure; not recommended if you can avoid it)
Implementation Steps
Design your CRM endpoints
Decide URL structure for
create,fetch, andupdateMake sure they match the field structure above
Implement and test locally
Implement your APIs and test with curl/Postman
Confirm responses and error codes are correct
Share details with QuickReply.ai
Send the following to your POC or QuickReply.ai's support:
Base URL and full paths for Create/Fetch/Update
Auth type and keys (in a secure channel)
Any special field mappings (e.g.
utm_campaign→crm_campaign_code)
QuickReply.ai configuration
QuickReply.ai team configures your endpoints and mapping
They enable contact sync and test with sample contacts
Typical go-live time is around 5 business days, depending on complexity.
FAQs
Last updated