skills/manage-webhooks/SKILL.md
Manage webhooks and Service Bus endpoints in Dynamics 365 — register webhooks, create Service Bus queue/topic/Event Hub integrations, view endpoints and their registered steps. Use when asked "register a webhook", "show webhooks", "set up Service Bus integration".
npx skillsauth add nickmeron/Dataverse-MCP-Server skills/manage-webhooksInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The user wants to manage webhooks or Service Bus integrations in Dynamics 365.
Argument provided: $ARGUMENTS
Select environment — call list_environments, ask the user, call select_environment.
Determine the task:
list_service_endpointsget_service_endpoint_details — also shows all steps registered against itregister_webhook with:
name: descriptive name (e.g. "Order Notification Webhook")url: the HTTPS endpoint to receive POSTsauth_type (optional): 4=HttpHeader, 5=WebhookKey (default), 6=HttpQueryStringauth_value (optional): the authentication key/header valuemessage_format (optional): 2=Json (default), 1=BinaryXML, 3=TextXMLlist_sdk_messages for "Create", "Update", etc.)list_sdk_message_filters for the entity)register_processing_step — but instead of linking to a plugin type, the step's event handler is the service endpointcreate_record tool to create the step with the eventhandler binding:
"[email protected]": "/serviceendpoints({endpoint_id})"
register_service_bus_endpoint with:
name: descriptive namenamespace_address: Service Bus namespace (e.g. "sb://mynamespace.servicebus.windows.net")sas_key_name: SAS policy name (e.g. "RootManageSharedAccessKey")sas_key: the actual SAS key valuecontract_type: 1=Queue, 2=Topic, 7=EventHubpath: queue/topic/event hub namemessage_format (optional): 2=Json (default)update_service_endpoint — supply only the fields to changedelete_service_endpointHere's the complete flow to register a webhook that fires on Account creation:
register_webhook → creates the endpoint, returns endpoint IDlist_sdk_messages with filter "Create" → get sdkmessageidlist_sdk_message_filters with message_name "Create" + entity "account" → get sdkmessagefilteridcreate_record on sdkmessageprocessingsteps:
{
"name": "Webhook: Account Created",
"stage": 40,
"mode": 1,
"rank": 1,
"supporteddeployment": 0,
"asyncautodelete": true,
"[email protected]": "/serviceendpoints({endpoint_id})",
"[email protected]": "/sdkmessages({message_id})",
"[email protected]": "/sdkmessagefilters({filter_id})"
}
x-ms-webhook-key, HttpQueryString appends to URLtesting
Create, monitor, and manage bulk deletion jobs in Dynamics 365. Use when asked "bulk delete", "delete all records of type X", "create a bulk delete job", "check bulk delete status", "cancel bulk delete", "why did bulk delete fail".
data-ai
Produce a business-readable summary of a Dynamics 365 record or set of records. Uses metadata to understand the schema before querying.
testing
Investigate users, security roles, teams, and permissions in Dynamics 365. Use when asked "who has access to...", "what roles does X have?", "compare roles", or "show me users".
data-ai
Query Dynamics 365 records using natural language. Translates questions into OData queries with metadata-aware field selection.