> ## Documentation Index
> Fetch the complete documentation index at: https://help.pipelime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Zapier, Make, Pipedrive and tools without a native connector

> How to connect something we do not list: outbound with a webhook, inbound with the leads API.

export const UiPath = ({children}) => {
  const parts = String(children).split(/\s*(?:→|>)\s*/).filter(Boolean);
  return <span className="pl-path">
      {parts.map((part, index) => <span key={`${index}-${part}`}>
          {index > 0 && <span className="pl-path__sep">→</span>}
          {part}
        </span>)}
    </span>;
};

export const Screenshot = ({id, alt, caption, frame = 'browser', url, marks = [], lang = 'en', workspace = 'northwind-outbound'}) => {
  const src = `/images/screenshots/${lang}/${id}.png`;
  const chrome = url ? `app.pipelime.ai/${workspace}${url}` : 'app.pipelime.ai';
  return <figure className={`pl-shot pl-shot--${frame} not-prose`}>
      <div className="pl-shot__frame">
        {frame !== 'bare' && <div className="pl-shot__bar">
            <span className="pl-shot__dots">
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
              <span className="pl-shot__dot" />
            </span>
            <span className="pl-shot__url">{chrome}</span>
          </div>}
        <div className="pl-shot__media">
          <img src={src} alt={alt} loading="lazy" />
          {marks.map(mark => <span key={mark.n} className="pl-shot__mark" style={{
    left: `${mark.x}%`,
    top: `${mark.y}%`
  }} aria-hidden="true">
              {mark.n}
            </span>)}
        </div>
      </div>
      {caption && <figcaption className="pl-shot__caption">{caption}</figcaption>}
    </figure>;
};

Zapier and Make have no connector of their own here. Connect either one, Pipedrive, Zoho CRM or anything else missing from the connector list the same way: a webhook to send leads out, and the public leads API to bring them in.

<div className="pl-availability">
  <div className="pl-availability__row">
    <div className="pl-availability__label">Where</div>
    <div className="pl-availability__value"><span className="pl-path">Integrations<span className="pl-path__sep">→</span>Integrations<span className="pl-path__sep">→</span>Apps & CRM</span></div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">Your role needs</div>
    <div className="pl-availability__value">Read access to Apps & CRM <code>read-integrations</code>. Admin, Member and Viewer have it by default.</div>
  </div>

  <div className="pl-availability__row">
    <div className="pl-availability__label">To create or change</div>
    <div className="pl-availability__value"><code>create-integrations</code> to add one, <code>update-integrations</code> to change one, on top of the permission above.</div>
  </div>

  <div className="pl-availability__note">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.</div>
</div>

## Is there a Zapier or Make connector?

No. Open **Add integration** on <UiPath>Integrations → Integrations → Apps & CRM</UiPath> and the list holds ten connectors: Calendly, Cal.com, Brevo, HubSpot, HeyReach, Salesforce, Odoo, Kommo, Slack and **Webhook**. Zapier, Make, Pipedrive, Zoho CRM and n8n are not on it, and nothing adds an eleventh option: the ten are a fixed list in the product, not a per-workspace one. **Webhook** stands in for all of them. Point it at a Zap's catch hook or a Make scenario's webhook trigger and it gets a card on that page like any other connector, carrying the name you gave it, or the endpoint's own domain when you left the name blank.

<Screenshot id="integrations/zapier-make-and-other-tools--webhook-dialog" url="/integrations" alt="The webhook connect dialog with the endpoint URL set to an automation tool's catch hook and three lead fields mapped beneath it" caption="The same dialog every CRM without a native connector goes through. Nothing about it is specific to Zapier or Make." />

## Send leads out to Zapier, Make or anywhere else

Two ways, and you do not need to set up both.

* The **Webhook** connector: a saved endpoint with its own authentication and field mapping, added once from **Add integration**. **Push to CRM** on a lead's own page can send it there, and so can turning on **Auto-push analyzed leads** on the connector's own card.
* The **Send Webhook** block: a step on a workflow canvas. Its **Endpoint** control offers **Custom URL**, a one-off address typed straight into the block, or **Saved connector**, the same webhook connector, with any fields you add on the block merged on top of its own mapping.

A webhook is not treated as the lead's CRM of record. Unlike HubSpot, HeyReach, Salesforce, Odoo and Kommo, it never claims the lead, so connecting a real CRM afterwards still pushes, and it accepts a lead with no email address, where a record-creating CRM refuses one. Slack behaves the same way for the same reason.

If your Zap or scenario answers with a JSON body carrying the id of the record it created, we store that id on the lead, and the button on the lead reads **Synced to CRM** instead of **Push to CRM**. Two things stop that: switching off **Store the ID returned by the endpoint** in the connect dialog, and a record-creating CRM that already owns the lead, whose id we never overwrite.

[Connect a webhook](/en/integrations/connect-a-webhook) sets up the connector step by step. [Webhook testing, delivery rules and record IDs](/en/integrations/webhook-testing-and-delivery-rules) covers what a test result and a 2xx status actually prove.

## Bring leads in from Zapier, Make or anywhere else

The other direction is not a webhook at all. It is the public leads API, `/api/v1`, authenticated by a workspace API key instead of a signed-in session. Create one from <UiPath>Settings → API & Integrations</UiPath> by choosing **Create key**: its **Name** field suggests naming it after the system that will use it, with the placeholder text "e.g. Website form, Zapier, Internal CRM". Under **Permissions**, `leads:write` is already ticked, and that is the one the intake endpoint needs. Then have your Zap or scenario call `POST /api/v1/leads` whenever it has a new lead to send. [API overview](/en/developers/overview) covers authentication, scopes and rate limits in full.

<Note>
  API & Integrations is a stricter bar than Apps & CRM: Admin, Member and Viewer can all open Apps & CRM, but only Admin can open the API tab. If you can connect a webhook and still cannot reach the key screen, that is why.
</Note>

## What about Pipedrive, Zoho CRM or another CRM that isn't listed?

The same webhook path. Neither has a connector of its own, so each connects the way any tool without one does: a **Webhook** pointed at whatever endpoint that CRM, or a Zap or scenario standing in front of it, accepts leads on. [CRM and integration blocks](/en/workflows/crm-and-integration-blocks) covers pushing a lead there automatically from inside a workflow.

## Related

<CardGroup cols={2}>
  <Card title="Connect a webhook" icon="webhook" href="/en/integrations/connect-a-webhook">
    Set up the connector step by step: the endpoint, the authentication, the field mapping, tested before you save.
  </Card>

  <Card title="Webhook testing, delivery rules and record IDs" icon="shield-check" href="/en/integrations/webhook-testing-and-delivery-rules">
    Read a test result, understand why a 2xx isn't proof, and fix the endpoints we refuse to call.
  </Card>

  <Card title="API overview" icon="compass" href="/en/developers/overview">
    Authenticate with a key, scope it, and see what actually counts as the public contract.
  </Card>

  <Card title="CRM and integration blocks" icon="layers" href="/en/workflows/crm-and-integration-blocks">
    Push a lead to your CRM, post to Slack or call any endpoint, as a step inside a flow.
  </Card>
</CardGroup>
