1. Getting Started
Plusvibe.ai API Documentation
  • Getting Started
    • Getting Started
    • Webhooks - Overview
    • Webhooks - Payload - Email Replies
    • Webhooks - Payload - Lead Marked As Label
    • Webhooks - Payload - Campaign Emails Sent
    • Webhooks - Payload - Bounced Email
    • Webhooks - Payload - Unibox Email Sent
    • Webhooks - Payload - System Alert
    • Workspace Deep Link Parameter
  • User API Endpoints
    • Workspace
      • Get workspaces
      • Add a new workspace
      • Copy workspace settings
      • Invite a user to a workspace
    • Campaign
      • Create a new campaign
      • Create a new subsequence
      • List campaigns (deprecated)
      • List all campaigns
      • Get campaign name
      • Get campaign status
      • Get campaign email accounts
      • Get campaign emails
      • Get campaign variation stats
      • Set campaign name
      • Set campaign Schedules (deprecated)
      • Activate campaign
      • Pause campaign
      • Update Campaign
      • Delete or archive a campaign
    • Lead
      • Add leads to a campaign
      • Add leads to a subsequence campaign
      • Get or search for lead
      • Delete leads from a campaign
      • Lead Variable/Label Update or Add
      • Fetch workspace leads
      • Update the status of a lead
      • Get lead counts by status
    • Email Account
      • List all email accounts in the workspace
      • Get email account status
      • Check account vitals
      • Enable Email account warmup
      • Pause Email account warmup
      • Delete Email account
      • Get Warmup Stats (Workspace-Level)
      • Bulk Add SMTP Accounts
      • Bulk Update Email Accounts
      • Bulk Update Email Account Warmup Status
      • Bulk Assign/Remove Tags from Email Accounts
      • Bulk reconnect email accounts
      • Get email account stats for a date range
      • Move Email Accounts to Another Workspace
    • Analytics
      • Get campaign summary
      • Get campaign count (deprecated)
      • Get campaign stats
      • Get all campaigns statistics
    • Unibox
      • Get email threads (conversations)
      • Get emails
      • Get emails in Others folder
      • Get count of unread emails
      • Reply to an email
      • Forward an existing email
      • Compose New Email
      • Mark Email Read
      • Send to any address
      • Save Email as Draft
      • Delete an Entire Email Thread
      • Delete a Single Email Message
    • Blocklist
      • Get entries in the blocklist
      • Adds entries to the blocklist
      • Delete entries in the blocklist
    • Webhook
      • Add a new webhook
      • List webhooks
      • Delete webhook(s)
    • Tags
      • List Tags
      • Create a New Tag
      • Update an Existing Tag
      • Delete Multiple Tags
    • Client Access
      • Create client
      • Edit client
      • Update client status
      • Delete client
      • List clients
    • Email Placement Test
      • Parent Recurring Test
        • Create a new parent test (recurring test)
        • Update a parent test
        • List all parent tests
        • Get parent test details
        • Delete parent test(s)
        • Duplicate a parent test
      • Child (Test Run) Test
        • List child (Test Run) tests
        • Get child test details
      • Results & Analytics
        • Get test summary
        • Get detailed test statistics
        • Get test result for a sender account
      • Get recipient providers
    • Workspace Additional Fields
      • List Additional Fields
      • Create Additional Field
      • Update Additional Field Default Value
      • Delete Additional Field
    • DFY
      • Search Domain Availability
      • List DFY Subscriptions
      • Generate Sender Identities (MS Enterprise)
      • Place a DFY Order
      • Cancel a DFY Subscription
    • Email Account Automation
      • List automation rules
      • Create automation rule
      • Update automation rule
      • Delete automation rule
      • Get automation rule
      • Enable / disable automation rule
      • Duplicate automation rule
    • Workspace Settings
      • Get Workspace Settings
      • Update Workspace Settings
      • List Lead Labels
      • Add Custom Lead Label
      • Delete Custom Lead Labels
    • Schemas
      • ScheduleV2
      • Campaign
      • EmailAccountId
      • WarmupStatus
      • BulkUpdateWarmupRequest
      • TagAction
      • BulkTagAssignmentRequest
      • ObjectId
      • HexColor
      • CreateTagRequest
      • UpdateTagRequest
      • DeleteTagsRequest
      • DeleteCampaignRequest
      • BulkReconnectRequest
      • SuccessResponse
      • ErrorResponse
      • ClientWorkspacePermission
      • CreateClientRequest
      • CreateClientResponse
      • UpdateClientRequest
      • ClientListItem
      • PatchClientStatusRequest
      • GenericSuccessResponse
      • ParentTest
      • ParentTestDetail
      • ChildTest
      • ChildTestDetail
      • VariationStepStats
      • VariationStats
      • CopyWorkspaceRequest
      • ResourceType
      • CopyWorkspaceResponse
      • EmailStatsResponse
      • EmailStatsHeader
      • EmailStatsChartPoint
      • ValidationErrorResponse
      • CheckSuccess
      • AuthFailure
  • For Email Infra Provider
    • Email Infra Provider Guide
    • List workspaces
      POST
    • List all email accounts in the workspace
      GET
    • Check if an email exists in another workspace
      GET
    • Initiate Google OAuth login flow
      POST
    • Initiate Microsoft OAuth login flow
      POST
    • Bulk Add SMTP Accounts (via Username and Password)
      POST
    • Schemas
      • AuthFailure
      • CheckSuccess
      • ErrorResponse
  1. Getting Started

Webhooks - Overview

PlusVibe Webhooks#

Webhooks allow external systems to receive real-time event notifications from PlusVibe. You can use webhooks to integrate PlusVibe with your own applications, CRMs, or automation tools like Zapier and Make.com.

Supported Webhook Event Types#

First Email Replies (FIRST_EMAIL_REPLIES)
Triggered whenever a lead replies for the first time (excluding Out of Office and Automatic Replies).
All Email Replies (ALL_EMAIL_REPLIES)
Triggered whenever a lead replies (including the first reply and all subsequent replies).
All Positive Replies (ALL_POSITIVE_REPLIES)
Triggered whenever a lead replies and is detected as having a positive sentiment (includes both first and subsequent replies).
Campaign Emails Sent (EMAIL_SENT)
Triggered whenever a campaign email is sent.
**All Bounced Emails ** (BOUNCED_EMAIL)
Triggered whenever a email is bounced
Unibox Emails Sent (UNIBOX_EMAIL_SENT)
Triggered whenever an email is sent from the Unibox: manual reply or compose, scheduled messages (at actual send time), AI-triggered replies, and automated follow-ups. Forwarded messages are excluded.
LEAD_MARKED_AS_{{LABELNAME}}
Triggered when a label is applied to a lead, either by our AI or manually by a user inside the app.
Note: Label Name has to be in all uppercase.
Webhook_event Example:
LEAD_MARKED_AS_INTERESTED
LEAD_MARKED_AS_NOT_INTERESTED
System Alert (SYSTEM_ALERT)
Triggered when something in the workspace needs attention — an email account disconnecting, forwarded replies bouncing, billing problems and more. When subscribing you also choose which alerts to receive; see the "Webhooks - Payload - System Alert" page for details and samples.

Webhook Secret (optional)#

TIP
The secret is entirely optional — skip it unless you specifically need to verify that requests come from PlusVibe. Webhooks work exactly the same without one (e.g. Zapier and Make.com don't need it). Leave the secret field empty and ignore this section.
If you do set a secret, every delivery includes a Signature header so you can verify the request really came from PlusVibe:
1.
We compute an HMAC-SHA256 of the raw JSON request body, using your secret as the key.
2.
The hex-encoded result is sent in the Signature header of the POST request.
3.
On your server, compute the same HMAC-SHA256 over the raw request body with your secret and compare it to the Signature header (use a constant-time comparison). If they don't match, reject the request.
In short: Signature = hex( HMAC_SHA256( key: your_secret, message: raw_request_body ) )
Important: always hash the raw request body exactly as received, before any JSON parsing or re-serialization — re-stringifying the parsed JSON can reorder or reformat it and produce a different signature.
Example in Python:
Check your implementation — run your verification code on this example. With the secret my_webhook_secret and this exact raw body:
{"webhook_event":"SYSTEM_ALERT","alert":"EMAIL_ACCOUNT_DISCONNECTED"}
the correct Signature header is:
a927cde9781124cf8e28e8e5886e4dff6bf7c792877211fd2a3d6e9d0cc95097
If your code produces the same value, it is correct.

Testing with Sample Payloads#

From the webhook settings page in the web app you can send a sample payload for any event type you've subscribed to. This delivers a realistic test payload to your webhook URL — signed with your secret if one is set — so you can build and test your handler end to end before real events occur. For the System Alert event, one sample delivery is sent per alert type you can receive.

How to Integrate PlusVibe Webhooks with Zapier or Make.com#

1.
Create a Webhook Trigger in Zapier or Make
In Zapier, create a new Zap and choose Webhooks by Zapier as the trigger. Select Catch Hook.
In Make.com, create a new Scenario and add the Webhooks module. Select Custom Webhook.
Both platforms will give you a unique webhook URL.
2.
Add the Webhook URL to PlusVibe
Go to: https://app.pipl.ai/v2/settings/webhook/
Paste your webhook URL into the appropriate field.
Choose the event types you want to subscribe to, and save your changes.
3.
Receive Real-Time Events
When the selected event occurs in PlusVibe, a POST request will be sent to your webhook URL.
Zapier or Make.com will receive the data and forward it to your connected system.
Modified at 2026-07-26 16:30:28
Previous
Getting Started
Next
Webhooks - Payload - Email Replies
Built with