Connect an external CRM | Guides | Metrikia
Intermediate3 min

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

  1. Go to Settings > Integrations > HubSpot
  2. Click Connect : a HubSpot OAuth window opens
  3. Select the HubSpot portal to connect
  4. Authorize the requested permissions (contacts, deals, pipelines)
  5. Initial sync starts automatically

What syncs

HubSpotMetrikiaDirection
ContactsLeadsBidirectional
DealsDealsBidirectional
Deal StagesPipeline stagesHubSpot โ†’ Metrikia
Custom PropertiesCustom fieldsConfigurable

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

  1. Go to Settings > Integrations > Salesforce
  2. Click Connect : Salesforce OAuth authentication
  3. Choose your environment (Production or Sandbox)
  4. Authorize API access

What syncs

SalesforceMetrikiaDirection
LeadsLeadsBidirectional
OpportunitiesDealsBidirectional
Opportunity StagesPipeline stagesSalesforce โ†’ Metrikia
Custom FieldsCustom fieldsConfigurable

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

  1. Go to Settings > Integrations > Pipedrive
  2. Enter your Pipedrive API key (found in Pipedrive > Settings > Personal preferences > API)
  3. Click Connect and sync

What syncs

PipedriveMetrikiaDirection
PersonsLeadsPipedrive โ†’ Metrikia
DealsDealsBidirectional
Deal StagesPipeline stagesPipedrive โ†’ 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

  1. Go to Settings > Integrations > Zoho CRM
  2. Click Connect : Zoho OAuth authentication
  3. Select the Zoho organization
  4. Authorize the required modules (Leads, Deals, Contacts)

What syncs

Zoho CRMMetrikiaDirection
Leads/ContactsLeadsBidirectional
DealsDealsBidirectional
Stage HistoryPipeline stagesZoho โ†’ Metrikia

5. Freshsales

Connection

  1. Go to Settings > Integrations > Freshsales
  2. Enter your Freshsales API key and your domain (e.g., your-company.freshsales.io)
  3. Click Connect and sync

What syncs

FreshsalesMetrikiaDirection
ContactsLeadsFreshsales โ†’ Metrikia
DealsDealsBidirectional

6. Airtable

Connection

  1. Go to Settings > Integrations > Airtable
  2. Enter your Airtable API key (or Personal Access Token)
  3. Select the base and tables to sync
  4. 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

  1. Go to Settings > Integrations > Webhooks
  2. Click Create endpoint
  3. Copy the generated URL (e.g., https://api.metrikia.io/api/v1/webhooks/inbound/abc123)
  4. 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 lead
  • PATCH /api/v1/leads/{id}. Update a lead
  • POST /api/v1/deals. Create a deal
  • PATCH /api/v1/deals/{id}. Update a deal

Full documentation: api.metrikia.io/api/v1/docs

Verifying sync is working

After connecting, check:

  1. Settings > Integrations > your CRM โ†’ status "Connected" with last sync date
  2. CRM > Leads โ†’ your CRM leads appear
  3. CRM > Deals โ†’ your deals are synced with correct amounts
  4. 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.

Ready to take action?

Create your Metrikia account and apply this guide in minutes.