This guide provides a complete reference for all webhook events available in Bigmind. If you haven't set up webhooks yet, check out our webhook setup guide first.
#Available events
Bigmind supports the following webhook events:
| Event | Description |
|---|---|
transcription_created |
Triggered when a meeting transcription is completed |
summary_created |
Triggered when a meeting summary is generated |
scorecard_answers_created |
Triggered when all questions in a scorecard are answered for a meeting |
notes_created |
Triggered when a new note is created |
notes_updated |
Triggered when an existing note is updated |
framework_answers_created |
Triggered when a framework component value is created |
framework_answers_updated |
Triggered when a framework component value is updated |
meeting_relations_created |
Triggered when a meeting's CRM relations are created after attribution |
email_generated |
Triggered when the AI drafts an email and presents it to the rep for review |
email_sent |
Triggered when the AI sends an email on behalf of a rep |
todo_created |
Triggered when the AI creates an action item |
todo_updated |
Triggered when an action item is updated |
document_generated |
Triggered when the AI generates a document from a template |
document_updated |
Triggered when the AI updates an existing document (e.g. a deal summary is regenerated) |
agent_run_completed |
Triggered when an agent session completes (user-initiated or background) |
signal_action |
Triggered when a user clicks a configured signal action button |
#Webhook payload structure
Each webhook delivery includes a JSON payload with event data. All webhook payloads share a common structure:
{
"event": "event_name",
"data": { /* event-specific data */ },
"relations": {
"associated_account_ids": [],
"associated_contact_ids": [],
"associated_deal_ids": [],
"associated_lead_ids": []
},
"webhook_id": "whk_abc123",
"timestamp": "2025-10-10T14:30:00.000Z"
}
The relations field contains IDs of related CRM objects, making it easy to know which accounts, contacts, deals, or leads are associated with the event.
#Event payloads
#transcription_created
Triggered when a meeting transcription is completed:
{
"event": "transcription_created",
"data": {
"meeting_id": "mtg_abc123",
"session_id": "ses_xyz789",
"transcript": "<transcript content in HTML format>",
"speakers": [
{
"name": "John Doe",
"email": "john@example.com",
"device_id": "device_123"
}
]
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456", "con_789"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
#summary_created
Triggered when a meeting summary is generated:
{
"event": "summary_created",
"data": {
"meeting_id": "mtg_abc123",
"session_id": "ses_xyz789",
"summary": "<summary content in HTML format>"
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
#scorecard_answers_created
Triggered when all questions in a scorecard are answered for a meeting:
{
"event": "scorecard_answers_created",
"data": {
"scorecard_id": "sc_abc123",
"scorecard_name": "Sales Call Quality",
"target_object_name": "meeting_session",
"target_object_id": "ses_xyz789",
"questions_and_answers": [
{
"question_id": "q_1",
"question_name": "Was budget discussed?",
"question_type": "yes_no",
"answer": true,
"reasoning": "Budget was discussed at 5:30 mark"
},
{
"question_id": "q_2",
"question_name": "Deal size estimate",
"question_type": "range",
"answer": 8,
"reasoning": "Strong indicators of large deal"
}
]
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
#notes_created
Triggered when a new note is created:
{
"event": "notes_created",
"data": {
"note_id": "note_abc123",
"note_type": "note",
"content": "Follow up on pricing discussion",
"user_id": "usr_456",
"target_object_name": "Contact",
"target_object_id": "con_789",
"created_at": "2025-10-10T14:30:00.000Z"
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": ["con_789"],
"associated_deal_ids": [],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
For warning-type notes, the content field contains structured data:
{
"event": "notes_created",
"data": {
"note_id": "note_abc123",
"note_type": "warnings",
"content": [
{
"severity": "high",
"warning": "Competitor mentioned multiple times",
"reasoning": "Customer compared pricing to Competitor X"
},
{
"severity": "medium",
"warning": "Budget concerns raised",
"reasoning": "Customer asked about payment terms"
}
],
"user_id": "usr_456",
"target_object_name": "Opportunity",
"target_object_id": "deal_101",
"created_at": "2025-10-10T14:30:00.000Z"
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": [],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
#notes_updated
Triggered when an existing note is updated (same structure as notes_created, but with updated_at instead of created_at):
{
"event": "notes_updated",
"data": {
"note_id": "note_abc123",
"note_type": "note",
"content": "Follow up on pricing discussion - scheduled for next week",
"user_id": "usr_456",
"target_object_name": "Contact",
"target_object_id": "con_789",
"updated_at": "2025-10-10T15:45:00.000Z"
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": ["con_789"],
"associated_deal_ids": [],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T15:45:00.000Z"
}
#framework_answers_created
Triggered when a framework component value is created. Includes all components in the framework with their current values:
{
"event": "framework_answers_created",
"data": {
"framework_id": "fw_abc123",
"framework_name": "MEDDIC",
"target_object_name": "Opportunity",
"target_object_id": "deal_101",
"components_and_values": [
{
"component_id": "comp_456",
"component_name": "Metrics",
"component_value": "Reduce lead enrichment time by 50%",
"component_status": "completed"
},
{
"component_id": "comp_457",
"component_name": "Economic Buyer",
"component_value": "VP of Sales",
"component_status": "in-progress"
},
{
"component_id": "comp_458",
"component_name": "Decision Criteria",
"component_value": null,
"component_status": "not-started"
}
],
"created_at": "2025-10-10T14:30:00.000Z"
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": [],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
#framework_answers_updated
Triggered when a framework component value is updated. Includes all components in the framework with their current values (same structure as framework_answers_created, but with updated_at instead of created_at):
{
"event": "framework_answers_updated",
"data": {
"framework_id": "fw_abc123",
"framework_name": "MEDDIC",
"target_object_name": "Opportunity",
"target_object_id": "deal_101",
"components_and_values": [
{
"component_id": "comp_456",
"component_name": "Metrics",
"component_type": "text",
"component_value": "Reduce lead enrichment time by 50%",
"component_status": "completed"
},
{
"component_id": "comp_457",
"component_name": "Economic Buyer",
"component_type": "text",
"component_value": "CEO",
"component_status": "completed"
},
{
"component_id": "comp_458",
"component_name": "Decision Criteria",
"component_type": "text",
"component_value": "Price, ease of use, integration capabilities",
"component_status": "in-progress"
}
],
"updated_at": "2025-10-10T15:45:00.000Z"
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": [],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T15:45:00.000Z"
}
#meeting_relations_created
Triggered when a meeting's CRM relations are created. This event fires when attribution runs after a meeting ends, associating the meeting with accounts, contacts, deals, or leads. This is useful when you need to know about CRM associations that may be established after the initial meeting events (like transcription_created) have already been sent:
{
"event": "meeting_relations_created",
"data": {
"meeting_id": "mtg_abc123",
"session_id": "ses_xyz789",
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456", "con_789"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
}
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T16:00:00.000Z"
}
Note: This event is sent separately from meeting content events like transcription_created because CRM attribution may run asynchronously after the meeting has ended. Subscribe to this event if your integration needs to track when meetings are linked to CRM records.
#email_generated
Triggered when the AI drafts an email and presents it to the rep for review. This fires as soon as the draft is produced — the rep may still choose to edit or discard it before sending. Use email_sent to capture confirmed sends.
{
"event": "email_generated",
"data": {
"subject": "Follow-up on our conversation",
"to": "contact@example.com",
"body": "<p>Hi Jane, ...</p>",
"chat_id": "chat_abc123",
"agent_mode": "follow-up"
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
#email_sent
Triggered when the AI sends an email on behalf of a rep, after the rep has reviewed and confirmed the draft.
{
"event": "email_sent",
"data": {
"subject": "Follow-up on our conversation",
"to": "contact@example.com",
"integration_id": "google-gmail",
"user_id": "usr_789"
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:35:00.000Z"
}
#todo_created
Triggered when the AI creates an action item from a meeting. Includes the meeting it was created from and any associated CRM objects.
{
"event": "todo_created",
"data": {
"todo_id": "todo_abc123",
"type": "email",
"description": "Send pricing proposal to John",
"due_at": "2025-10-17T09:00:00.000Z",
"ai_generated": true,
"meeting_id": "mtg_abc123",
"session_id": "ses_xyz789",
"target_object_name": "deal",
"target_object_id": "deal_101",
"target_table": "deals",
"parent_target_object_name": "account",
"parent_target_object_id": "acc_123",
"parent_target_table": "accounts"
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": ["con_456"],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
The type field can be email, meeting, task, or linkedin.
#todo_updated
Triggered when an action item is updated, including status, priority, due date, assignment, and object association changes.
{
"event": "todo_updated",
"data": {
"todo_id": "todo_abc123",
"type": "email",
"description": "Send pricing proposal to John",
"due_at": "2025-10-17T09:00:00.000Z",
"snoozed_until": null,
"ai_generated": true,
"assigned_to": "user_123",
"priority": "high",
"status": "done",
"completed_at": "2025-10-11T10:15:00.000Z",
"target_object_name": "deal",
"target_object_id": "deal_101",
"target_table": "deals",
"parent_target_object_name": "account",
"parent_target_object_id": "acc_123",
"parent_target_table": "accounts",
"updated_at": "2025-10-11T10:15:00.000Z"
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-11T10:15:00.000Z"
}
#document_generated
Triggered when the AI generates a document from a template. Includes metadata about the template used, so you can track which document types your team is producing.
{
"event": "document_generated",
"data": {
"document_id": "doc_abc123",
"title": "Acme Corp Account Plan - Q4 2025",
"template_id": "tmpl_xyz789",
"template_title": "Account Plan",
"template_purpose": "icp"
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": [],
"associated_deal_ids": [],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:30:00.000Z"
}
The template_purpose field can be icp, case_study, product_family, product, deal-summary, or null for general-purpose templates.
#document_updated
Triggered when the AI updates an existing document. The most common case is a deal summary being regenerated after a new meeting or activity. The payload structure is identical to document_generated.
{
"event": "document_updated",
"data": {
"document_id": "doc_abc123",
"title": "Acme Corp - Summary",
"template_id": "tmpl_xyz789",
"template_title": "Deal Summary",
"template_purpose": "deal-summary"
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": [],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T16:00:00.000Z"
}
#agent_run_completed
Triggered when an agent session finishes. This fires for both user-initiated chats and background automation runs (e.g. post-meeting processing, deal updates). Use initiated_by to distinguish them and tools_used to see what actions the agent took.
{
"event": "agent_run_completed",
"data": {
"chat_id": "chat_abc123",
"agent_mode": "post-meeting-automation",
"initiated_by": "system",
"object_type": "meeting_session",
"object_id": "ses_xyz789",
"tools_used": ["createTodo", "generateMeetingSummaryBySessionId", "answerScorecardQuestion"],
"message_count": 6
},
"relations": {
"associated_account_ids": [],
"associated_contact_ids": [],
"associated_deal_ids": ["deal_101"],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2025-10-10T14:32:00.000Z"
}
The initiated_by field is either user (rep opened the chat and sent a message) or system (background agent triggered automatically). The tools_used array lists the unique tool names called during the session.
#signal_action
Triggered when a user clicks a configured action button on a signal in email, Slack, or the feed. This event includes the responding user's ID and email, the signal event that was acted on, the clicked button label and value, and any CRM object associated with the signal.
{
"event": "signal_action",
"data": {
"signalId": "sig_abc123",
"signalSlug": "price-change",
"signalEventId": "evt_xyz789",
"userId": "usr_456",
"userEmail": "jane@example.com",
"objectType": "account",
"objectId": "acc_123",
"actionType": "feedback",
"question": null,
"label": "Yes",
"value": "yes",
"miniAppId": "ma_123",
"respondedAt": "2026-05-05T14:30:00.000Z"
},
"relations": {
"associated_account_ids": ["acc_123"],
"associated_contact_ids": [],
"associated_deal_ids": [],
"associated_lead_ids": []
},
"webhook_id": "whk_def456",
"timestamp": "2026-05-05T14:30:00.000Z"
}
The actionType field is either feedback for predefined Yes/No actions or question for custom question actions. For question actions, question contains the configured prompt and label/value contain the clicked button's configured label and value.
#Next steps
Now that you understand the webhook events and their payloads, make sure to:
- Check out the webhook setup guide to learn about signature verification, retry logic, and best practices
- Review our API documentation for more integration options
