Connect an external CRM
Step-by-step guide to connect HubSpot, Salesforce, Pipedrive, Zoho, Freshsales, or Airtable to Metrikia. Webhooks and API included.
Objective
By the end of this guide, your external CRM will be connected to Metrikia and your leads/deals will sync automatically. You will finally see the true ROI of your ad campaigns by cross-referencing ad spend with actual sales.
Why it matters: Without a CRM connection, your revenue metrics are blind. You only see leads, not sales. Metrikia turns your CRM data into actionable attribution metrics.
1. HubSpot
Connection
- Go to Settings > Integrations > HubSpot
- Click Connect : a HubSpot OAuth window opens
- Select the HubSpot portal to connect
- Authorize the requested permissions (contacts, deals, pipelines)
- Initial sync starts automatically
What syncs
| HubSpot | Metrikia | Direction |
|---|---|---|
| Contacts | Leads | Bidirectional |
| Deals | Deals | Bidirectional |
| Deal Stages | Pipeline stages | HubSpot โ Metrikia |
| Custom Properties | Custom fields | Configurable |
Field mapping
Metrikia automatically maps standard fields (email, name, phone, deal amount). For custom fields, go to Settings > Integrations > HubSpot > Field Mapping and associate your HubSpot fields with Metrikia fields.
Pro tip: Create a HubSpot property "Metrikia Source" to see attribution directly in HubSpot. Bidirectional sync will populate it automatically.
2. Salesforce
Connection
- Go to Settings > Integrations > Salesforce
- Click Connect : Salesforce OAuth authentication
- Choose your environment (Production or Sandbox)
- Authorize API access
What syncs
| Salesforce | Metrikia | Direction |
|---|---|---|
| Leads | Leads | Bidirectional |
| Opportunities | Deals | Bidirectional |
| Opportunity Stages | Pipeline stages | Salesforce โ Metrikia |
| Custom Fields | Custom fields | Configurable |
Custom mapping
Salesforce often has complex custom fields. In the mapping screen, you can:
- Associate any Salesforce field with a Metrikia field
- Create transformation rules (e.g., convert a Salesforce picklist to a Metrikia status)
- Define conflict priority (CRM or Metrikia is the source of truth)
3. Pipedrive
Connection
- Go to Settings > Integrations > Pipedrive
- Enter your Pipedrive API key (found in Pipedrive > Settings > Personal preferences > API)
- Click Connect and sync
What syncs
| Pipedrive | Metrikia | Direction |
|---|---|---|
| Persons | Leads | Pipedrive โ Metrikia |
| Deals | Deals | Bidirectional |
| Deal Stages | Pipeline stages | Pipedrive โ Metrikia |
Pro tip: Pipedrive distinguishes "Persons" and "Organizations." Metrikia syncs Persons as Leads. If you use Organizations, link them to your Persons to retain context.
4. Zoho CRM
Connection
- Go to Settings > Integrations > Zoho CRM
- Click Connect : Zoho OAuth authentication
- Select the Zoho organization
- Authorize the required modules (Leads, Deals, Contacts)
What syncs
| Zoho CRM | Metrikia | Direction |
|---|---|---|
| Leads/Contacts | Leads | Bidirectional |
| Deals | Deals | Bidirectional |
| Stage History | Pipeline stages | Zoho โ Metrikia |
5. Freshsales
Connection
- Go to Settings > Integrations > Freshsales
- Enter your Freshsales API key and your domain (e.g., your-company.freshsales.io)
- Click Connect and sync
What syncs
| Freshsales | Metrikia | Direction |
|---|---|---|
| Contacts | Leads | Freshsales โ Metrikia |
| Deals | Deals | Bidirectional |
6. Airtable
Connection
- Go to Settings > Integrations > Airtable
- Enter your Airtable API key (or Personal Access Token)
- Select the base and tables to sync
- Map Airtable columns to Metrikia fields
Flexible schema
Airtable has no fixed structure. You define the mapping:
- Which table contains your leads?
- Which column is the email? Name? Phone?
- Which table contains your deals? Which field is the amount?
Pro tip: Use a filtered Airtable view to sync only relevant records (e.g., status โ "Archived"). This reduces noise and speeds up sync.
7. Generic webhook (any CRM)
For CRMs not listed above, Metrikia provides an inbound webhook endpoint.
Setup
- Go to Settings > Integrations > Webhooks
- Click Create endpoint
- Copy the generated URL (e.g.,
https://api.metrikia.io/api/v1/webhooks/inbound/abc123) - Configure your CRM to send POST requests to this URL
Expected payload
{
"event": "lead.created",
"data": {
"email": "prospect@example.com",
"firstName": "Jane",
"lastName": "Smith",
"phone": "+14155551234",
"source": "meta",
"dealValue": 5000
}
}
Supported events: lead.created, lead.updated, deal.created, deal.updated, deal.won, deal.lost.
8. REST API (programmatic)
For a fully custom integration, use the Metrikia REST API.
Authentication
Create an API key in Settings > API > Create key. Pass it as a header:
Authorization: Bearer your-api-key
Main endpoints
POST /api/v1/leads. Create a leadPATCH /api/v1/leads/{id}. Update a leadPOST /api/v1/deals. Create a dealPATCH /api/v1/deals/{id}. Update a deal
Full documentation: api.metrikia.io/api/v1/docs
Verifying sync is working
After connecting, check:
- Settings > Integrations > your CRM โ status "Connected" with last sync date
- CRM > Leads โ your CRM leads appear
- CRM > Deals โ your deals are synced with correct amounts
- Edit a lead in your CRM โ verify the change appears in Metrikia within 5 minutes
Pro tip: Unlike Hyros which relies on Zapier (per-task cost, 5-15 min delayed sync), Metrikia syncs directly via OAuth or API, real-time, cost included. And unlike GoHighLevel which forces its closed CRM ecosystem, Metrikia adapts to your existing stack.
To go further, check out our blog, the documentation or contact support.