Skip to main content
Every connector reads the same lead, but the record it creates and the fields it fills are different for each one. This page has the exact shape, connector by connector, and what becomes of your email history once a push succeeds.
Where
IntegrationsIntegrationsApps & CRM
Your role needs
Read access to Apps & CRM read-integrations. Admin, Member and Viewer have it by default.
To create or change
create-integrations to add one, update-integrations to change one, on top of the permission above.
If you cannot find this in your sidebar, your workspace may have a custom menu configuration. Contact support and we will check it for you.
A push starts in one of three ways: automatically, from the Push to CRM button on a lead, or from a workflow’s Send to CRM block. All three send the same thing, so everything below applies to all three. The only difference is that the block’s picker offers every connector here except Slack.

What each connector creates

Only one connector ever creates a record for a given lead: HubSpot, Salesforce, Odoo, Kommo and HeyReach are exclusive, and once one of them has claimed a lead an automatic push to the others is skipped. Slack and the webhook connector are additive, so they never claim a lead and a CRM push can still happen afterwards. See Auto-push analyzed leads and stage filters for exactly how that’s decided, and Push a lead to your CRM manually for the one-off button, which does not check who already owns the lead.

How the name, email and phone are read

Wherever a connector below sends an email or a phone number, it sends the most recently added one, not the first. If a lead has two emails on file, the newer one goes out. HubSpot, Salesforce, Kommo, HeyReach and the webhook default payload all split the name on the first space: everything before that space becomes a first name, everything after becomes a last name. “Maria Elena Garcia” becomes first name “Maria”, last name “Elena Garcia”. Odoo sends the whole name in one field instead, and Slack prints it whole in the message.
A webhook you map yourself is the exception to the rule above. The mapping picker’s lead email and lead phone options resolve to the first email and first phone on the lead. The unmapped default payload further down this page sends the most recent of each. Two webhook connectors on the same lead can send two different addresses for that reason.

HubSpot

Company size is never sent. HubSpot’s matching property belongs to the Company object, not the Contact, and PipeLime doesn’t create a Company object here. Once the contact exists, a Note is attached in a second call, carrying whichever of these the lead has: the lead’s LinkedIn link again, the lead’s own description, the company’s description and summary, and a list of the company’s saved links. Then one email engagement is created per message in the lead’s thread, warm-up traffic skipped, each keeping its direction (sent or received), subject and body.

Salesforce

Salesforce refuses a Lead without a last name and a company, so both have a fallback. A single-word name (no space in it) becomes the whole LastName on its own, with FirstName left blank. A lead with no name at all gets the literal “Unknown” as its LastName, the same way a lead with no company gets it as its Company. LeadSource carries PipeLime by default, or your own partner name if the workspace has partner branding. Activities follow in a second set of calls: one completed Task titled ” — Lead Notes” carrying the consolidated note content, and one completed Task per non-warm-up message, its subject “Email (Sent): ” or “Email (Received): ”, body the message text with any HTML stripped out.

Odoo

Create pushed leads as sits in the Odoo connect dialog, with Opportunity picked for you. Odoo’s description field is HTML, so line breaks in the notes are converted before they’re sent. Email history goes to the record’s chatter instead of a separate object: one message per non-warm-up message, each with a small header naming its direction and date, and its full HTML body kept intact rather than stripped.

Kommo

Kommo is the only connector here that creates a genuinely separate Company object alongside the lead and contact, in one combined request. PipeLime never sets a pipeline or a stage on the created lead, so it drops into your account’s default pipeline and first stage. Email history follows in a single second call: one consolidated note with the same content as HubSpot’s, plus one note per non-warm-up message, all written as Kommo’s own “common” note type.

HeyReach

HeyReach doesn’t create a CRM record. It adds the lead to a list for LinkedIn outreach. No phone number is sent, and there’s no note or email history: HeyReach’s list call has nowhere to put either. Because the API doesn’t return a per-lead ID, PipeLime makes one up so the lead still shows as pushed, in the shape hr_{list id}_{lead id}. If HeyReach rejects every lead in the request, the message you see is “HeyReach rejected the lead. Ensure the lead has a valid LinkedIn profile URL or email.”

Slack

Slack is the one connector that creates nothing to look up afterwards. It posts a single chat message to the channel you connected, and once that message is sent there’s no further object on Slack’s side tying back to the lead. The message opens with a headline picked from the lead’s stage: “New lead”, “Lead contacted”, “New opportunity”, “Meeting booked”, “Lead converted” or “Lead closed”. Under it sit the lead’s name, job title and company, then a small grey line carrying whichever of industry, company size and location the lead has. Next comes a bar labelled “Lead score”. That score is not the lead’s own: it is read from the most recent non-warm-up message that carries one, and the bar is left out when there is none. Contact details follow on a single row: the email as a mailto link, the phone as plain text, and LinkedIn and the company website as links. Then the most recent inbound reply, quoted, if the lead has replied. Then the meeting time and a join link, once the lead reaches Meeting Scheduled. The message ends with a button reading “View in” and your workspace’s brand name, which opens the lead’s own page, and a second reading “Email” and the lead’s first name when the lead has an address. None of it is attached to a record, because there is no record: the message itself is the only trace the push leaves.

Webhook

The webhook connector is the one you configure yourself, choosing your own field names in a mapping. See Connect a webhook for setting that up. Leave the mapping empty, and this fixed default shape goes out instead: stage is always one of untouched, contacted, opportunity, meeting_scheduled, converted or closed. status is pending, analyzing, analyzed or error. source is search, import, manual, automatic, website_tracker, whatsapp, web_form, instagram, mercadolibre or api. PipeLime also appends its own keys at the end of every push, mapped or not: event (what triggered it), lead_id and sent_at. A mapping can rename or drop any field above, but never these. Leave the field mapping empty and choose Send test to see this exact shape before you save anything. Add a mapping and the test sends the mapped payload instead. If capturing a record ID is on, which it is by default, PipeLime looks for one in the reply under one of its usual shapes (id, data.id, record.id, and similar), unless you’ve told it exactly where to look. Find one, and the lead is stamped as synced with that connector, unless a record-creating CRM already claimed it first. Find nothing, and the push still succeeds; it is just never recorded as synced.

What happens to your email history

Every Note, Task, engagement and chatter post above is written in a follow-up call, after the record itself already exists, and a failure there is only ever written to the server log. If that call fails, the contact, Lead or crm.lead is still there, and nothing in the app tells you its history is missing.

Auto-push analyzed leads and stage filters

What triggers an automatic push, which stages it fires on, and every reason a lead is silently skipped.

Connect a webhook

Point PipeLime at any HTTP endpoint, choose the fields to send and what to call them, and test it before you save.

Push a lead to your CRM manually

Send one lead from its own page, and read the badge it leaves behind once it’s synced.

Merge variables and lead fields

The values you can drop into a message or a condition, and the exact names to type.