Skip to main content
Glama
FirstReply

FirstReply MCP Server

Official
by FirstReply

Webhook Create

webhook_create

Create a webhook that POSTs chosen FirstReply events to an HTTPS URL. Use it to notify external systems of changes and rotate a secret to sign deliveries.

Instructions

Create a webhook that POSTs the given events to a URL. Deliveries are signed with a secret: call webhook_rotate_secret to obtain one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
eventYesEvent name, or several comma-separated: conversation.create, conversation.update, conversation.delete, conversation.reassign, message.create, message.update, message.delete, contact.create, contact.update, contact.delete, knowledge.create, knowledge.update, knowledge.delete, classification.create, classification.update, classification.delete, template.create, template.update, template.delete, prompt.create, prompt.update, prompt.delete, inbox.create, inbox.update, inbox.delete, member.add, member.remove, organization.update.
targetYesHTTPS URL that receives the events.
organizationIdYesThe organization id. Use organization_list to find it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds value beyond them by disclosing the HMAC signing behavior and the dependency on webhook_rotate_secret. It does not address duplicate-URL behavior, whether repeated calls create multiple webhooks (relevant given idempotentHint=false), or what the delivery payload looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and immediately followed by the operational caveat. No filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-required-param create tool with full schema coverage and annotations carrying the safety profile, the description is nearly sufficient, and it usefully surfaces the signing-secret workflow. Without an output schema, however, it omits what creation returns (webhook id, secret, delivery status), leaving a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: event enumerates all event names, target documents the HTTPS URL, and organizationId points to organization_list. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+mechanism: 'Create a webhook that POSTs the given events to a URL.' This cleanly distinguishes it from siblings like webhook_list, webhook_get, webhook_update, webhook_delete, and webhook_test, so an agent can select it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete procedural cue absent from the schema's surface: deliveries are signed with a secret, so the agent should call webhook_rotate_secret to obtain one. It doesn't explicitly say when to prefer this over webhook_update or state prerequisites like permissions, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.