Connect external tools to PromptLab via Webhooks and API

Learn how to authenticate with the PromptLab API, set up webhooks to receive real-time deal events, and verify incoming payloads securely.

PromptLab's API and webhook system lets you integrate your pipeline data with external tools, automate workflows, and build custom applications on top of your deal, contact, and activity data. You can pull data on demand via the REST API or receive real-time notifications via webhooks whenever key events occur in your pipeline.

Webhooks and API access are available on the Business plan and above.

Getting your API key

PromptLab uses API keys for authentication. Each key is scoped to your account and carries full access to the API endpoints available on your plan.

1

Open API key settings

Go to Settings > API Keys.

2

Generate a new key

Click Generate Key, give it a descriptive label (for example, the name of the integration or service that will use it), and click Create.

3

Copy the key

Copy the key immediately — PromptLab only shows it once. Store it in a secure secrets manager.

4

Add the key to your requests

Pass the API key as a Bearer token in the Authorization header of every API request:

Authorization: Bearer YOUR_API_KEY

Keep your API key secret. If a key is exposed, rotate it immediately from Settings > API Keys by revoking the compromised key and generating a new one.

Setting up webhooks

Webhooks let PromptLab push real-time event data to a URL you control — no polling required.

1

Open webhook settings

Go to Settings > Integrations > Webhooks.

2

Add a new endpoint

Click Add Endpoint.

3

Enter your endpoint URL

Paste the HTTPS URL where PromptLab should send event payloads. Your endpoint must be publicly reachable and return a 2xx status to acknowledge receipt.

4

Select events to subscribe to

Choose one or more events from the list. PromptLab will only send payloads for the events you select. See Webhook events below for the full list.

5

Save and confirm

Click Save. PromptLab immediately sends a test ping to your endpoint. Check your server logs to confirm the ping was received.

Webhook events

EventDescription
deal.createdA new deal is added to your pipeline
deal.stage_changedA deal moves to a new pipeline stage
meeting.recordedA call or meeting recording becomes available
quote.sentA quote is sent to a customer
task.createdA new task is created on a deal or contact

Verifying webhook payloads

Every webhook request that PromptLab sends includes a signature header so you can confirm the payload came from PromptLab and has not been tampered with.

To verify a payload:

  1. Retrieve the signature from the X-PromptLab-Signature header on the incoming request.
  2. Compute an HMAC-SHA256 hash of the raw request body using your webhook secret (shown when you create or edit an endpoint under Settings > Integrations > Webhooks).
  3. Compare your computed hash to the value in the signature header. If they match, the payload is authentic.

Reject any request where the signature does not match.

Example webhook payload

The following is a sample payload for the deal.stage_changed event:

{
  "event": "deal.stage_changed",
  "timestamp": "2026-01-15T10:30:00Z",
  "data": {
    "deal_id": "deal_abc123",
    "deal_name": "Acme Manufacturing - Q1 RFQ",
    "previous_stage": "Qualified",
    "new_stage": "Proposal Sent",
    "updated_by": "sales.rep@company.com"
  }
}

All webhook payloads use JSON. The top-level event field identifies the event type, timestamp is in ISO 8601 UTC format, and data contains the event-specific fields.

Rate limits

API rate limits apply based on your plan. If you exceed your limit, the API returns a 429 Too Many Requests response. Use the Retry-After header in the response to determine when you can resume requests.