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
- What You Need
- Getting Your Zapier Catch Hook URL
- Connecting Zapier in Bearconnect
- After Connecting
- Connecting Zapier to a Campaign
- Exporting Leads via Zapier
- Payload Format
- Mapping Fields in Your Zap
- Testing Your Connection
- Managing Your Zapier Integration
- Use Cases
- Troubleshooting
Quick Start
Already familiar with Zapier? Here is the fastest path:
- In Zapier: Create a Zap with Webhooks by Zapier > Catch Hook trigger. Copy the hook URL.
- In Bearconnect: Go to Integrations > Zapier > Connect. Paste the URL, select events, click Connect.
- In Bearconnect: Click Test Connection on the Zapier integration to send sample data.
- In Zapier: Click Test trigger in your Catch Hook step to detect the data structure. Add your action steps.
- In Bearconnect: Open a campaign > Integrations tab > Connect Integration > select your Zapier integration and enable events.
What You Need
- A Bearconnect account with an active subscription.
- A Zapier account (Free or paid).
- A Zap with a "Webhooks by Zapier" trigger configured as a Catch Hook.
Getting Your Zapier Catch Hook URL
Before connecting in Bearconnect, you need a Catch Hook URL from Zapier.
- Log in to your Zapier account and click Create Zap (or Make a Zap).
- In the trigger step, search for and select Webhooks by Zapier.
- 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.
- Click Continue through the setup steps until Zapier displays your unique webhook URL.
- 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
- Go to Integrations in the left sidebar of your Bearconnect dashboard.
- Find Zapier in the Available Integrations section and click Connect.
- A dialog opens with the following fields:
Required Fields
| Field | Description |
|---|---|
| Name | A label to identify this connection (e.g., "Zapier - CRM Sync", "Zapier - Slack Alerts"). |
| Catch Hook URL | The 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:
| Category | Events |
|---|---|
| Connection Events | Connection Request Sent, Connection Accepted |
| Message Events | Message 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:
| Setting | Default | Range | Description |
|---|---|---|---|
| Custom Headers | None | - | Add custom HTTP headers to every request sent to Zapier (e.g., X-Source: bearconnect). |
| Timeout (ms) | 30000 | 5000–60000 | How long to wait for Zapier to respond before marking the delivery as failed. |
- 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.
- Open a campaign from your dashboard.
- Go to the Integrations tab.
- Click Connect Integration.
- Select your Zapier integration from the dropdown.
- Choose which events to enable for this campaign (only events that are in the integration's allowed events list appear here).
- 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.
- Go to the Leads page.
- Find the lead you want to export and click the three-dot action menu on that row.
- Click Export.
- Select your Zapier integration from the dropdown.
- 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.
| Field | Always Present? | Notes |
|---|---|---|
data.lead.id | Yes | Bearconnect internal lead ID. |
data.lead.firstName | Yes | Always available from LinkedIn. |
data.lead.lastName | No | May be null if not available on LinkedIn. |
data.lead.email | No | Only present if the lead's email has been found or enriched. |
data.lead.phone | No | Only present if the lead's phone has been found or enriched. |
data.lead.profileUrl | No | May be null in rare cases. |
data.lead.profileHeadline | No | May be null if the lead has no LinkedIn headline. |
data.lead.profileImageUrl | No | May be null if the lead has no profile photo. |
data.lead.position | No | May be null if no current position is listed. |
data.lead.companyName | No | May be null if no company is listed. |
data.lead.location | No | May be null if no location is listed. |
data.lead.website | No | May be null if no website is listed. |
data.lead.education | No | May be null if no education is listed. |
data.lead.publicIdentifier | No | The LinkedIn vanity URL slug. May be null. |
data.lead.connectionCount | No | Defaults to 0 if not available. |
data.lead.followerCount | No | May be null if not available. |
data.lead.isPremium | No | Defaults to false if not available. |
data.lead.memberUrn | No | LinkedIn member URN. May be null. |
data.lead.stage | No | Bearconnect lead stage. May be null. |
data.lead.createdAt | No | ISO timestamp. May be null. |
data.campaign | No | May be absent if the event is not campaign-specific. |
data.linkedInAccount | No | May be absent if no LinkedIn account is associated. |
data.linkedInAccount.email | Yes (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.emailso 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:
| Header | Value |
|---|---|
Content-Type | application/json |
User-Agent | Bearconnect/1.0 |
| Custom headers | Any 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 Path | Example Value | Description |
|---|---|---|
event | connection_request_accepted | The event type that triggered the Zap. |
timestamp | 2026-02-13T10:30:00.000Z | When the event occurred. |
data.lead.firstName | Jane | Lead's first name. |
data.lead.lastName | Smith | Lead's last name. |
data.lead.email | jane.smith@example.com | Lead's email address. |
data.lead.phone | +1-555-0123 | Lead's phone number. |
data.lead.profileUrl | https://www.linkedin.com/in/janesmith | Lead's LinkedIn profile URL. |
data.lead.profileHeadline | VP of Sales at Acme Corp | Lead's LinkedIn headline. |
data.lead.position | VP of Sales | Lead's job title. |
data.lead.companyName | Acme Corp | Lead's company name. |
data.lead.location | San Francisco, CA | Lead's location. |
data.campaign.name | Q1 Outreach | Name of the campaign that triggered the event. |
data.linkedInAccount.name | Sales Team Account | Name of the LinkedIn account used. |
data.linkedInAccount.email | john.smith@example.com | Login email of the LinkedIn account used. |
metadata.eventId | evt_abc123def456 | Unique event identifier. |
How to Map Fields
- In your Zap, add an action step (e.g., Google Sheets, HubSpot, Slack).
- In the action's field configuration, click into any field.
- Zapier shows the detected fields from Bearconnect's payload.
- Select the appropriate field (e.g., map
data.lead.firstNameto 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.
- Go to Integrations in the left sidebar.
- Click on your Zapier integration to open the detail panel.
- Click Test Connection.
- If successful, you will see "Test successful" with the HTTP status code (e.g., 200).
- 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:
- Go to Integrations in the left sidebar.
- Click on the Zapier integration you want to edit.
- Make your changes in the detail panel.
- Save.
Deleting the Integration
- Go to Integrations in the left sidebar.
- Click on the Zapier integration you want to delete.
- 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
- Create a Zap with a Catch Hook trigger.
- Add a "Google Sheets - Create Spreadsheet Row" action.
- Map
data.lead.firstName,data.lead.lastName,data.lead.email,data.lead.companyName, anddata.lead.profileUrlto columns in your sheet. - In Bearconnect, enable the Connection Accepted event on the campaign mapping.
Create CRM contacts when connections are accepted
- Create a Zap with a Catch Hook trigger.
- Add a "HubSpot - Create Contact" (or Salesforce, Pipedrive, etc.) action.
- Map
data.lead.firstName,data.lead.lastName,data.lead.email,data.lead.companyName, anddata.lead.positionto the CRM contact fields. - In Bearconnect, enable the Connection Accepted event on the campaign mapping.
Send Slack notifications when leads reply
- Create a Zap with a Catch Hook trigger.
- Add a "Slack - Send Channel Message" action.
- Compose the message using fields like
data.lead.firstName,data.lead.companyName, anddata.campaign.name(e.g., "New reply from Jane at Acme Corp in Q1 Outreach campaign"). - In Bearconnect, enable the Message Replied event on the campaign mapping.
Add leads to email sequences on connection acceptance
- Create a Zap with a Catch Hook trigger.
- Add an action for your email tool (e.g., "Mailchimp - Add Subscriber", "Lemlist - Add Lead to Sequence").
- Map
data.lead.email,data.lead.firstName, anddata.lead.lastNameto the required fields. - In Bearconnect, enable the Connection Accepted event on the campaign mapping.
Track outreach activity in a spreadsheet for reporting
- Create a Zap with a Catch Hook trigger.
- Add a "Google Sheets - Create Spreadsheet Row" action.
- Map
event(the event type),timestamp,data.lead.firstName,data.lead.lastName,data.lead.companyName,data.lead.position, anddata.campaign.nameto columns. - Enable all 4 events on the campaign mapping to capture the full outreach timeline.
- Use the spreadsheet to build dashboards or share outreach progress with your team.
Update CRM deal stage when leads reply
- Create a Zap with a Catch Hook trigger.
- Add a Filter step: only continue if
eventequalsmessage_replied. - Add a "HubSpot - Update Deal" or "Pipedrive - Update Deal" action.
- Use
data.lead.emailto find the existing deal and update its stage to "Contacted" or "Replied". - In Bearconnect, enable the Message Replied event on the campaign mapping.
Troubleshooting
"Test failed" when testing the connection
- 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 thehooks.zapier.comdomain for Zapier integrations. - Check that the Zap exists - If you deleted the Zap in Zapier, the Catch Hook URL becomes invalid.
- 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
- Check that the Zap is turned ON - A Zap in draft or paused state does not process incoming hooks.
- Check the campaign mapping - Open the campaign's Integrations tab and verify that the Zapier integration is connected with the correct events enabled.
- Check the toggle switch - Make sure event forwarding is not paused on the campaign mapping.
- 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:
- Go to Integrations in Bearconnect and click Test Connection on your Zapier integration to send a fresh sample payload.
- In Zapier, go to the Catch Hook trigger step and click Test trigger to re-detect the data structure.
- 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.