Zapier Integration Guide

Zapier integration lets you send Bearconnect LinkedIn outreach events to a Zapier Catch Hook URL, which triggers Zaps in your Zapier account. Whenever a lead accepts a connection, a message is sent, or another tracked event occurs, Bearconnect sends a JSON payload to your configured Catch Hook URL. This is ideal for pushing lead data into CRMs, spreadsheets, email tools, Slack, or any of the thousands of apps Zapier connects to.


Table of Contents

  1. What You Need
  2. Getting Your Zapier Catch Hook URL
  3. Connecting Zapier in Bearconnect
  4. After Connecting
  5. Connecting Zapier to a Campaign
  6. Exporting Leads via Zapier
  7. Payload Format
  8. Mapping Fields in Your Zap
  9. Testing Your Connection
  10. Managing Your Zapier Integration
  11. Use Cases
  12. Troubleshooting

Quick Start

Already familiar with Zapier? Here is the fastest path:

  1. In Zapier: Create a Zap with Webhooks by Zapier > Catch Hook trigger. Copy the hook URL.
  2. In Bearconnect: Go to Integrations > Zapier > Connect. Paste the URL, select events, click Connect.
  3. In Bearconnect: Click Test Connection on the Zapier integration to send sample data.
  4. In Zapier: Click Test trigger in your Catch Hook step to detect the data structure. Add your action steps.
  5. In Bearconnect: Open a campaign > Integrations tab > Connect Integration > select your Zapier integration and enable events.

What You Need


Getting Your Zapier Catch Hook URL

Before connecting in Bearconnect, you need a Catch Hook URL from Zapier.

  1. Log in to your Zapier account and click Create Zap (or Make a Zap).
  2. In the trigger step, search for and select Webhooks by Zapier.
  3. Choose Catch Hook as the trigger event.

Important: Select Catch Hook, not Catch Raw Hook. Catch Hook automatically parses the JSON payload. Catch Raw Hook gives you the raw request body, which is not what you need for this integration.

  1. Click Continue through the setup steps until Zapier displays your unique webhook URL.
  2. Copy the URL. It will look like this:
https://hooks.zapier.com/hooks/catch/123456/abcdef/

Important: Do not complete the "Test trigger" step in Zapier yet. You will trigger a test from Bearconnect after connecting, which will send sample data for Zapier to detect.

Keep this URL ready for the next step.


Connecting Zapier in Bearconnect

  1. Go to Integrations in the left sidebar of your Bearconnect dashboard.
  2. Find Zapier in the Available Integrations section and click Connect.
  3. A dialog opens with the following fields:

Required Fields

FieldDescription
NameA label to identify this connection (e.g., "Zapier - CRM Sync", "Zapier - Slack Alerts").
Catch Hook URLThe Zapier Catch Hook URL you copied in the previous step (must be an https://hooks.zapier.com URL).

Event Selection

Choose which event types this integration is allowed to handle:

CategoryEvents
Connection EventsConnection Request Sent, Connection Accepted
Message EventsMessage Sent, Message Replied

You can:

  • Click All to select every event.
  • Click None to clear the selection.
  • Expand a category to select individual events.
  • Use the category checkbox to toggle all events within that category.

Advanced Settings (Optional)

Click Advanced Settings to reveal additional options:

SettingDefaultRangeDescription
Custom HeadersNone-Add custom HTTP headers to every request sent to Zapier (e.g., X-Source: bearconnect).
Timeout (ms)300005000–60000How long to wait for Zapier to respond before marking the delivery as failed.
  1. Click Connect.

After Connecting

Your Zapier integration now appears in the Connected Integrations section. Click on it to open the detail panel, which shows:

Hook URL

Your configured Catch Hook URL is displayed and can be copied with the copy button.

Status & Delivery Statistics

  • Status - Active or Error.
  • Delivered - Total number of successful deliveries.
  • Failed - Total number of failed deliveries.
  • Last Delivery - Timestamp of the most recent delivery.

If there is a recent error, the error message is displayed in red.

Allowed Events

A read-only list showing which event types this integration is configured to handle, organized by category.

Connection Details

  • When the integration was created.
  • Provider type (Zapier).
  • Integration ID.
  • Last updated timestamp.

Connecting Zapier to a Campaign

To receive events from a specific campaign, you must map the Zapier integration to that campaign.

  1. Open a campaign from your dashboard.
  2. Go to the Integrations tab.
  3. Click Connect Integration.
  4. Select your Zapier integration from the dropdown.
  5. Choose which events to enable for this campaign (only events that are in the integration's allowed events list appear here).
  6. Click Connect.

Managing the Mapping

On the campaign's Integrations tab:

  • Toggle switch - Pause or resume event forwarding.
  • Settings icon - Change which events are enabled for this campaign.
  • Trash icon - Remove the mapping (the Zapier integration itself is not deleted).

Exporting Leads via Zapier

You can manually export a lead to your Zapier integration.

  1. Go to the Leads page.
  2. Find the lead you want to export and click the three-dot action menu on that row.
  3. Click Export.
  4. Select your Zapier integration from the dropdown.
  5. Click Export.

The lead data is sent immediately as a JSON payload to your Catch Hook URL, triggering your Zap.


Payload Format

Every delivery to Zapier is an HTTP POST request with a JSON body. The payload format is universal across all Bearconnect integration providers (Custom Webhooks, Zapier, Make, and n8n). All providers receive the exact same structure.

Event Payload

{
    "event": "connection_request_accepted",
    "timestamp": "2026-02-13T10:30:00.000Z",
    "data": {
        "lead": {
            "id": "65abc123def4567890ghij01",
            "firstName": "Jane",
            "lastName": "Smith",
            "email": "jane.smith@example.com",
            "phone": "+1-555-0123",
            "profileUrl": "https://www.linkedin.com/in/janesmith",
            "profileHeadline": "VP of Sales at Acme Corp",
            "profileImageUrl": "https://media.licdn.com/...",
            "position": "VP of Sales",
            "companyName": "Acme Corp",
            "location": "San Francisco, CA",
            "website": "https://acme.com",
            "education": "Stanford University",
            "publicIdentifier": "janesmith",
            "connectionCount": 500,
            "followerCount": 1200,
            "isPremium": true,
            "memberUrn": "urn:li:member:123456789",
            "stage": "connected",
            "createdAt": "2026-01-15T08:00:00.000Z"
        },
        "campaign": {
            "id": "65abc123def4567890ghij02",
            "name": "Q1 Outreach",
            "status": "running"
        },
        "linkedInAccount": {
            "id": "65abc123def4567890ghij03",
            "name": "Sales Team Account",
            "email": "john.smith@example.com"
        }
    },
    "metadata": {
        "eventId": "evt_abc123def456",
        "userId": "65abc123def4567890ghij04",
        "integrationId": "65abc123def4567890ghij05"
    }
}

Field Availability (Nullable Fields)

Not all lead fields are guaranteed to have a value. Only id and firstName are always present. All other lead fields may be null or absent depending on what data is available on the LinkedIn profile.

FieldAlways Present?Notes
data.lead.idYesBearconnect internal lead ID.
data.lead.firstNameYesAlways available from LinkedIn.
data.lead.lastNameNoMay be null if not available on LinkedIn.
data.lead.emailNoOnly present if the lead's email has been found or enriched.
data.lead.phoneNoOnly present if the lead's phone has been found or enriched.
data.lead.profileUrlNoMay be null in rare cases.
data.lead.profileHeadlineNoMay be null if the lead has no LinkedIn headline.
data.lead.profileImageUrlNoMay be null if the lead has no profile photo.
data.lead.positionNoMay be null if no current position is listed.
data.lead.companyNameNoMay be null if no company is listed.
data.lead.locationNoMay be null if no location is listed.
data.lead.websiteNoMay be null if no website is listed.
data.lead.educationNoMay be null if no education is listed.
data.lead.publicIdentifierNoThe LinkedIn vanity URL slug. May be null.
data.lead.connectionCountNoDefaults to 0 if not available.
data.lead.followerCountNoMay be null if not available.
data.lead.isPremiumNoDefaults to false if not available.
data.lead.memberUrnNoLinkedIn member URN. May be null.
data.lead.stageNoBearconnect lead stage. May be null.
data.lead.createdAtNoISO timestamp. May be null.
data.campaignNoMay be absent if the event is not campaign-specific.
data.linkedInAccountNoMay be absent if no LinkedIn account is associated.
data.linkedInAccount.emailYes (if present)Login email of the LinkedIn account used for outreach.

Tip: In your Zap, use Zapier's built-in "Formatter by Zapier" step with "Text > Default Value" to handle missing fields. For example, set a default value for data.lead.email so your downstream action does not fail when email is absent.

Lead Export Payload

When you manually export a lead, the payload follows the same structure. The event field is set to lead_added_to_campaign.

HTTP Headers

Every request sent to Zapier includes:

HeaderValue
Content-Typeapplication/json
User-AgentBearconnect/1.0
Custom headersAny headers you configured in Advanced Settings.

Mapping Fields in Your Zap

After Bearconnect sends a test payload (or a real event) to your Catch Hook URL, Zapier automatically detects the data structure. You can then map these fields in your Zap's action steps.

Available Fields

Once Zapier detects the payload, you will see fields organized like this in the Zap editor:

Zapier Field PathExample ValueDescription
eventconnection_request_acceptedThe event type that triggered the Zap.
timestamp2026-02-13T10:30:00.000ZWhen the event occurred.
data.lead.firstNameJaneLead's first name.
data.lead.lastNameSmithLead's last name.
data.lead.emailjane.smith@example.comLead's email address.
data.lead.phone+1-555-0123Lead's phone number.
data.lead.profileUrlhttps://www.linkedin.com/in/janesmithLead's LinkedIn profile URL.
data.lead.profileHeadlineVP of Sales at Acme CorpLead's LinkedIn headline.
data.lead.positionVP of SalesLead's job title.
data.lead.companyNameAcme CorpLead's company name.
data.lead.locationSan Francisco, CALead's location.
data.campaign.nameQ1 OutreachName of the campaign that triggered the event.
data.linkedInAccount.nameSales Team AccountName of the LinkedIn account used.
data.linkedInAccount.emailjohn.smith@example.comLogin email of the LinkedIn account used.
metadata.eventIdevt_abc123def456Unique event identifier.

How to Map Fields

  1. In your Zap, add an action step (e.g., Google Sheets, HubSpot, Slack).
  2. In the action's field configuration, click into any field.
  3. Zapier shows the detected fields from Bearconnect's payload.
  4. Select the appropriate field (e.g., map data.lead.firstName to a "First Name" column in Google Sheets).

Tip: If you do not see the Bearconnect fields in your action step, go back to the trigger step and click "Test trigger" to re-detect the data structure. Make sure you have sent a test from Bearconnect first.


Testing Your Connection

You can send a test request to verify your Catch Hook URL is reachable and Zapier is detecting the payload correctly.

  1. Go to Integrations in the left sidebar.
  2. Click on your Zapier integration to open the detail panel.
  3. Click Test Connection.
  4. If successful, you will see "Test successful" with the HTTP status code (e.g., 200).
  5. If it fails, the error message will indicate the problem (timeout, invalid URL, non-2xx status code, etc.).

The test sends a sample payload to your Catch Hook URL. The test payload is identical in structure to real event payloads - the same fields and format, with only sample values differing. Zapier auto-detects the data structure from this test payload, making all fields available in your Zap's action steps.

Important: After testing from Bearconnect, go back to the Zapier editor and click "Test trigger" in your Catch Hook trigger step. Zapier will pick up the sample data Bearconnect just sent.


Managing Your Zapier Integration

Editing the Integration

To change the name, URL, events, or other settings:

  1. Go to Integrations in the left sidebar.
  2. Click on the Zapier integration you want to edit.
  3. Make your changes in the detail panel.
  4. Save.

Deleting the Integration

  1. Go to Integrations in the left sidebar.
  2. Click on the Zapier integration you want to delete.
  3. Click Delete and confirm.

When you delete a Zapier integration:

  • All campaign mappings using it are removed.
  • Event forwarding stops immediately.
  • Delivery history is no longer tracked.

Use Cases

Push new LinkedIn connections to a Google Sheet

  1. Create a Zap with a Catch Hook trigger.
  2. Add a "Google Sheets - Create Spreadsheet Row" action.
  3. Map data.lead.firstName, data.lead.lastName, data.lead.email, data.lead.companyName, and data.lead.profileUrl to columns in your sheet.
  4. In Bearconnect, enable the Connection Accepted event on the campaign mapping.

Create CRM contacts when connections are accepted

  1. Create a Zap with a Catch Hook trigger.
  2. Add a "HubSpot - Create Contact" (or Salesforce, Pipedrive, etc.) action.
  3. Map data.lead.firstName, data.lead.lastName, data.lead.email, data.lead.companyName, and data.lead.position to the CRM contact fields.
  4. In Bearconnect, enable the Connection Accepted event on the campaign mapping.

Send Slack notifications when leads reply

  1. Create a Zap with a Catch Hook trigger.
  2. Add a "Slack - Send Channel Message" action.
  3. Compose the message using fields like data.lead.firstName, data.lead.companyName, and data.campaign.name (e.g., "New reply from Jane at Acme Corp in Q1 Outreach campaign").
  4. In Bearconnect, enable the Message Replied event on the campaign mapping.

Add leads to email sequences on connection acceptance

  1. Create a Zap with a Catch Hook trigger.
  2. Add an action for your email tool (e.g., "Mailchimp - Add Subscriber", "Lemlist - Add Lead to Sequence").
  3. Map data.lead.email, data.lead.firstName, and data.lead.lastName to the required fields.
  4. In Bearconnect, enable the Connection Accepted event on the campaign mapping.

Track outreach activity in a spreadsheet for reporting

  1. Create a Zap with a Catch Hook trigger.
  2. Add a "Google Sheets - Create Spreadsheet Row" action.
  3. Map event (the event type), timestamp, data.lead.firstName, data.lead.lastName, data.lead.companyName, data.lead.position, and data.campaign.name to columns.
  4. Enable all 4 events on the campaign mapping to capture the full outreach timeline.
  5. Use the spreadsheet to build dashboards or share outreach progress with your team.

Update CRM deal stage when leads reply

  1. Create a Zap with a Catch Hook trigger.
  2. Add a Filter step: only continue if event equals message_replied.
  3. Add a "HubSpot - Update Deal" or "Pipedrive - Update Deal" action.
  4. Use data.lead.email to find the existing deal and update its stage to "Contacted" or "Replied".
  5. In Bearconnect, enable the Message Replied event on the campaign mapping.

Troubleshooting

"Test failed" when testing the connection

  1. Check that the URL is correct - Make sure it is a valid https://hooks.zapier.com/hooks/catch/... URL. Bearconnect only accepts HTTPS URLs on the hooks.zapier.com domain for Zapier integrations.
  2. Check that the Zap exists - If you deleted the Zap in Zapier, the Catch Hook URL becomes invalid.
  3. Check the timeout - If Zapier takes longer than the configured timeout (default 30 seconds) to respond, the delivery is marked as failed. Increase the timeout in Advanced Settings if needed.

Events not arriving in Zapier

  1. Check that the Zap is turned ON - A Zap in draft or paused state does not process incoming hooks.
  2. Check the campaign mapping - Open the campaign's Integrations tab and verify that the Zapier integration is connected with the correct events enabled.
  3. Check the toggle switch - Make sure event forwarding is not paused on the campaign mapping.
  4. Check the integration's allowed events - The events enabled on the campaign mapping must be a subset of the events allowed on the integration itself.

"Hook URL not configured" error

This means the Catch Hook URL was not saved correctly. Edit the Zapier integration in Bearconnect, re-paste the URL, and save.

Wrong data structure or missing fields in Zap

If the fields in your Zap's action steps do not match what you expect:

  1. Go to Integrations in Bearconnect and click Test Connection on your Zapier integration to send a fresh sample payload.
  2. In Zapier, go to the Catch Hook trigger step and click Test trigger to re-detect the data structure.
  3. Zapier will pick up the latest payload and update the available fields.

Deliveries showing as "failed" with retries

Bearconnect automatically retries failed deliveries with exponential backoff (3 attempts by default, handled by the BullMQ queue). If all retries fail, the delivery is marked as permanently failed and the error count increases on the integration's status. Common causes:

  • Zapier temporarily unavailable.
  • Catch Hook URL invalidated (Zap deleted or reconfigured).
  • Zapier rate limiting on your account.

Check the error message in the integration detail panel for specific details.

"No connected integrations found" when trying to export a lead

This means you have not connected any integrations yet. Go to Integrations in the left sidebar and set up at least one integration first.