Facebook & Instagram Leads Integration

Meta Leads Integration Updated Aug 20, 2026

Use this API to send leads from Facebook and Instagram ad campaigns directly into Abstract One CRM. When a user submits a lead form on Meta (Facebook or Instagram), your integration layer should capture the lead data and call this endpoint to create the lead in CRM with the correct project, campaign, and platform attribution.

This is a global API endpoint. Your CRM account is identified using the x-api-key header — no client-specific configuration is required in the URL itself.

Prerequisites

Before calling this API, make sure you have the following values ready from your Abstract One CRM account:

Important: The campaignID must belong to the same project as the projectID you pass in the request. Mismatched IDs may cause the lead to be rejected.

Endpoint

POST https://app.abstractone.in/api/meta-lead-create

Request headers

Include these headers in every API request:

HeaderValueDescription
x-api-keyyour_api_key_hereYour API key from CRM. See Generate API Key.
Acceptapplication/jsonExpected response format
Content-Typeapplication/jsonRequest body format

Request body

Send lead data as a JSON object in the request body.

Required fields

FieldTypeDescription
namestringLead full name
mobile_numberstring10-digit Indian mobile number (starts with 6–9). Country code and spaces are stripped automatically — only the last 10 digits are used.
projectIDstringProject ID from CRM (e.g. AAP002)
campaignIDstringCampaign ID from CRM (e.g. AAC001). Must belong to the selected project.
platformstringLead source platform. Allowed values: fb (Facebook), ig (Instagram), wp (WhatsApp)

Optional fields

FieldTypeDescription
emailstringLead email address
alternate_numberstringAlternate mobile number (10 digits, must differ from mobile_number)
professionstringLead profession or occupation
locationstringLead city or location
notesstringAdditional notes for the lead
meta_campaignstringMeta campaign name from the ad platform
meta_adsetstringMeta ad set name
meta_adstringMeta ad name

Platform values

Use the correct platform value based on where the lead was generated:

  • fb — Facebook Lead Ads
  • ig — Instagram Lead Ads
  • wp — WhatsApp (if routed through the same Meta integration flow)

Example request

curl --location 'https://app.abstractone.in/api/meta-lead-create' \
--header 'x-api-key: your_api_key_here' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
  "name": "Rahul Sharma",
  "mobile_number": "9876543210",
  "alternate_number": "9123456780",
  "email": "rahul@example.com",
  "profession": "Software Engineer",
  "projectID": "AAP002",
  "campaignID": "AAC001",
  "platform": "fb",
  "location": "Mumbai",
  "notes": "Interested in 2BHK unit",
  "meta_campaign": "Summer Launch Campaign",
  "meta_adset": "Mumbai Audience 25-45",
  "meta_ad": "2BHK Offer Ad"
}'

Success response

HTTP 200

{
  "status": true,
  "message": "Lead created successfully"
}

Error responses

HTTP StatusMessageCause
401API Key missingx-api-key header not provided
401Invalid API credentialsAPI key is incorrect or inactive
404Client not foundAPI key does not map to a valid CRM account
422Project not foundprojectID does not exist in CRM
422Campaign not foundcampaignID does not exist in CRM
422Sub source not foundInvalid platform value
422Lead already existsDuplicate mobile number for the same project (when duplicacy mode is set to ignore)
500Error messageUnexpected server error during lead creation

Integration flow

  1. A user submits a lead form on a Facebook or Instagram ad.
  2. Meta sends the lead data to your webhook or middleware (Zapier, Make, custom server, etc.).
  3. Your middleware maps Meta form fields to the API request body (name, mobile, email, etc.).
  4. Set platform to fb or ig based on the ad source.
  5. Pass your projectID, campaignID, and x-api-key with every request.
  6. Abstract One CRM creates the lead and assigns it based on your pipeline rules.

Duplicate leads

Abstract One checks for existing leads with the same mobile number within the same project. Behaviour depends on your CRM Lead Duplicacy setting:

  • Ignore — duplicate leads are rejected with a 422 response.
  • Create — a new lead is created and marked as repeated.
  • Merge — a new lead is created and linked to the original parent lead.

Testing

Before going live, send a test request with sample data and verify the lead appears in your CRM under the correct project and campaign. Confirm the platform is tagged correctly as Facebook or Instagram in the lead source.