Prokeep Webhooks: Connect Your Data in Real Time
Connect Prokeep with your internal systems using webhooks to send real-time message, contact, and company data wherever you need it.
Overview
Prokeep Webhooks let you send real time event data from Prokeep to your own systems. When key activities happen in your account like messages being sent or received, threads being created or closed, or contacts and companies being updated, Prokeep can notify your systems immediately.
Use webhooks to:
- 
Log SMS and message activity in your CRM or ERP
 - 
Build dashboards or leaderboards in your BI tools
 - 
Run alerts and internal automations on new events
 - 
Combine with Prokeep APIs to sync contacts and companies
 
There is no historical data API for these events. To capture a history, create webhooks and log the data in your systems.
For security and setup details, see the Prokeep Webhook Documentation.
Set Up Webhooks
Create a webhook with a POST request to the REST API.
Endpoint
POST https://{subdomain}.prokeep.com/rest/v1/webhooks
Example Request
{
  "target_url": "https://your-endpoint.example.com/webhooks/prokeep",
  "events": {
    "message_received": true,
    "message_sent": true,
    "thread_created": true,
    "thread_claimed": true,
    "thread_closed": true,
    "company_created": true,
    "company_updated": true,
    "company_deleted": true,
    "contact_created": true,
    "contact_updated": true,
    "contact_deleted": true
  }
}
Example Response
{
  "data": {
    "id": "42061462-59ed-422d-a2b5-eb54170c288c",
    "url": "https://your-endpoint.example.com/webhooks/prokeep",
    "account_id": "0180c047-5566-4cc8-bccc-23ee53f61395",
    "inserted_at": "2025-05-08T18:51:56.628936Z",
    "updated_at": "2025-11-03T16:49:28.825594Z",
    "event_message_received": true,
    "event_message_sent": true,
    "event_thread_created": true,
    "event_thread_claimed": true,
    "event_thread_closed": true,
    "event_company_created": true,
    "event_company_updated": true,
    "event_company_deleted": true,
    "event_contact_created": true,
    "event_contact_updated": true,
    "event_contact_deleted": true
  }
}
View Existing Webhooks
- 
List all webhooks
GET https://{subdomain}.prokeep.com/rest/v1/webhooks - 
Retrieve a specific webhook
GET https://{subdomain}.prokeep.com/rest/v1/webhooks/{id} 
Each webhook contains your target URL and event flags.
Use Cases and Patterns
- 
Analytics dashboards
Store webhook events in a database and feed your BI tool to track volume, response times, and close rates. - 
CRM and ERP logging
Append message history to customer records and keep companies and contacts in sync using webhooks plus Prokeep APIs. - 
Alerts and automation
Trigger on call alerts for new threads, route high priority messages, or schedule follow ups automatically. 
Event Payload Examples
The examples below show typical payloads. Field values are illustrative and use consistent dummy data for person and company fields. Timestamps are UTC ISO 8601. specversion is always 1.0.
Message Received
{
  "data": {
    "id": "019a4a9a-a87c-7363-b1b4-c9804bf499b4",
    "status": "received",
    "text": "Hi, can you quote two heavy duty widgets for pickup today?",
    "thread_id": "019a4a9a-a876-7e5c-ae78-b028d15e29b2"
  },
  "id": "374f8816-725a-413c-96be-1d83eea02fa0",
  "type": "message_received",
  "source": "https://prokeep.com",
  "event": "message_received",
  "specversion": "1.0"
}
Message Sent
{
  "data": {
    "id": "019a4a9c-c3f3-777b-ae01-5c8c8ee985c5",
    "status": "sent",
    "text": "We have two in stock. I can set them aside for pickup today.",
    "inserted_by_contact": {
      "first_name": "Alex",
      "last_name": "Parker",
      "email_address": "alex.parker@example.com",
      "phone_number": "5551234567",
      "job_title": "Operations Manager"
    },
    "thread_id": "019a4a9a-a876-7e5c-ae78-b028d15e29b2"
  },
  "id": "46769e79-b8cd-4454-adef-9a5e6ef5c212",
  "type": "message_sent",
  "source": "https://prokeep.com",
  "event": "message_sent",
  "specversion": "1.0"
}
Thread Created
{
  "data": {
    "id": "019a4a9a-a876-7e5c-ae78-b028d15e29b2",
    "external_contact_id": "6fc1e09b-3fe0-4990-9a72-5b2be38ed5e1",
    "type": "sms",
    "inserted_at": "2025-11-03T16:44:01.005482Z"
  },
  "type": "thread_created",
  "source": "https://prokeep.com",
  "event": "thread_created",
  "specversion": "1.0"
}
Thread Claimed
{
  "data": {
    "id": "019a4a9a-a876-7e5c-ae78-b028d15e29b2",
    "owner_contact_id": "a66d1ef8-ea3c-4288-812f-11db5a032eca",
    "updated_at": "2025-11-03T16:45:14.979284Z"
  },
  "type": "thread_claimed",
  "source": "https://prokeep.com",
  "event": "thread_claimed",
  "specversion": "1.0"
}
Thread Closed
{
  "data": {
    "id": "019a4a9a-a876-7e5c-ae78-b028d15e29b2",
    "owner_contact_id": "a66d1ef8-ea3c-4288-812f-11db5a032eca",
    "updated_at": "2025-11-03T16:47:35.569079Z"
  },
  "type": "thread_closed",
  "source": "https://prokeep.com",
  "event": "thread_closed",
  "specversion": "1.0"
}
Company Created
{
  "data": {
    "id": "9cf0228a-3031-46eb-8c20-7ca0278c24c3",
    "name": "Northwind Supply",
    "email_address": "info@northwind.com",
    "phone_number": "5559876543",
    "inserted_at": "2025-11-03T16:50:50.933614Z"
  },
  "type": "company_created",
  "source": "https://prokeep.com",
  "event": "company_created",
  "specversion": "1.0"
}
Company Updated
{
  "data": {
    "id": "9cf0228a-3031-46eb-8c20-7ca0278c24c3",
    "name": "Northwind Supply Co.",
    "email_address": "support@northwind.com",
    "phone_number": "5559876543",
    "updated_at": "2025-11-03T16:52:10.120000Z"
  },
  "type": "company_updated",
  "source": "https://prokeep.com",
  "event": "company_updated",
  "specversion": "1.0"
}
Company Deleted
{
  "data": {
    "id": "9cf0228a-3031-46eb-8c20-7ca0278c24c3",
    "name": "Northwind Supply",
    "external_id": "43710729127"
  },
  "type": "company_deleted",
  "source": "https://prokeep.com",
  "event": "company_deleted",
  "specversion": "1.0"
}
Contact Created
{
  "data": {
    "id": "12eac27c-83f7-4170-800c-8c2f2dd13d7c",
    "first_name": "Alex",
    "last_name": "Parker",
    "email_address": "alex.parker@example.com",
    "phone_number": "5551234567",
    "job_title": "Operations Manager"
  },
  "type": "contact_created",
  "source": "https://prokeep.com",
  "event": "contact_created",
  "specversion": "1.0"
}
Contact Updated
{
  "data": {
    "id": "6fc1e09b-3fe0-4990-9a72-5b2be38ed5e1",
    "first_name": "Alex",
    "last_name": "Parker",
    "email_address": "alex.parker@example.com",
    "phone_number": "5551234567",
    "job_title": "Operations Manager"
  },
  "type": "contact_updated",
  "source": "https://prokeep.com",
  "event": "contact_updated",
  "specversion": "1.0"
}
Contact Deleted
{
  "data": {
    "id": "6fc1e09b-3fe0-4990-9a72-5b2be38ed5e1",
    "first_name": "Alex",
    "last_name": "Parker",
    "email_address": "alex.parker@example.com",
    "phone_number": "5551234567"
  },
  "type": "contact_deleted",
  "source": "https://prokeep.com",
  "event": "contact_deleted",
  "specversion": "1.0"
}
Notes
- 
Events are delivered as HTTPS POST requests to your configured endpoint.
 - 
Timestamps are UTC ISO 8601.
 - 
specversionis 1.0 for all events. 
For authentication, headers, and schema details, see the Prokeep Webhook Documentation.