Help us improve
Share bugs, ideas, or general feedback.
From Ayrshare - Unified Social Media API for AI Agents
Registers, unregisters, and lists webhook subscriptions for the Ayrshare MCP server to receive push notifications on social post/account events instead of polling.
npx claudepluginhub ayrshare/ayrshare-social-media-api-claude-plugin --plugin ayrshareHow this skill is triggered — by the user, by Claude, or both
Slash command
/ayrshare:webhooksThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Three tools for subscribing your endpoint to Ayrshare events so you receive **push notifications instead of polling**:
Create, manage, and test webhooks in XActions for HTTP notifications on events like automation job completions, failures, and follower changes. Integrates with external systems.
Foundation skill for the Ayrshare MCP server: auth model, installation, client onboarding, and retry safety. Activate when configuring the plugin, resolving 401/403 errors, or onboarding new profiles.
Implements Hootsuite event handling via API polling, custom Express webhooks for scheduled posts, and App Directory webhook endpoints.
Share bugs, ideas, or general feedback.
Three tools for subscribing your endpoint to Ayrshare events so you receive push notifications instead of polling:
mcp__ayrshare__register_webhook — subscribe an HTTPS URL to one event action.mcp__ayrshare__unregister_webhook — cancel a subscription by action.mcp__ayrshare__list_webhooks — list current subscriptions.All three are profile-scoped: choose the profile with the profileKey argument or the Profile-Key header (see Auth; the argument wins when both are set).
| Tool | Purpose | Method + Endpoint | Required inputs | Optional inputs |
|---|---|---|---|---|
mcp__ayrshare__register_webhook | Subscribe an HTTPS endpoint to a webhook action | POST /hook | url (must be https://), action (one webhook action) | source (string), secret (string — for signature verification) |
mcp__ayrshare__unregister_webhook | Cancel a webhook subscription | DELETE /hook | action (one webhook action) | source |
mcp__ayrshare__list_webhooks | List current webhook subscriptions | GET /hook | — | allWebhooks (bool), source |
Webhook actions (the action enum): feed, social, scheduled, batch, messages, mentions, comments, automations, accountActivity.
All three tools are profile-scoped: choose the profile with an optional profileKey tool argument or the Profile-Key connection header (the argument wins when both are set). Pass profileKey on the call to manage one client profile's webhooks, or set the Profile-Key header (.mcp.json headers) to default the whole connection to it; with neither, calls manage the account's primary/Business profile. Beyond profileKey, these webhook tools take no passthrough object; their inputs are exactly the fields in the table above. Full model: ../getting-started/SKILL.md.
url must be HTTPS. register_webhook rejects non-https:// URLs. The endpoint must be reachable so Ayrshare can deliver events to it.action. One subscription = one action. The actions are feed, social, scheduled, batch, messages, mentions, comments, automations, accountActivity.scheduled, don't poll. scheduled is the platform-agnostic post-completion webhook: it fires when a queued/scheduled post finishes processing. Register a scheduled webhook to be told when the post goes out, instead of repeatedly calling history. Once notified (or if you can't run an endpoint), you can confirm details with mcp__ayrshare__get_post (Ayrshare Post ID) or mcp__ayrshare__get_post_history — but the webhook is the push-based, no-polling path. See ../history/SKILL.md.secret to verify deliveries. Pass a secret at registration so your endpoint can verify the signature on incoming payloads and reject spoofed calls.source is a free-form tag you can attach at register time and then filter on with unregister_webhook / list_webhooks. Use it to distinguish multiple subscriptions for the same action or different downstream consumers.action. To stop notifications, call unregister_webhook with the same action (and source if you registered with one). To audit what's active, call list_webhooks (allWebhooks: true to widen the listing).register_webhook requires https://. A plain http:// or hostless URL fails.action is a single value, not an array. To subscribe to multiple event types, register each separately.scheduled is the post-completion signal, not social. For "tell me when my queued post published," use scheduled (platform-agnostic, fires on post completion). Don't reach for polling loops when a scheduled webhook does it push-style.profileKey argument (per call; it wins) or the connection's Profile-Key header; with neither it's the primary profile. Confirm you're targeting the intended profile before registering.action (and source if used). A mismatched source may leave a subscription active — verify with list_webhooks.mcp__ayrshare__explain_error, then surface it — don't loop. register_webhook/unregister_webhook are writes: never auto-retry on a 4xx (bad URL, unknown action, wrong scope). Translate the error via mcp__ayrshare__explain_error and present it; 429 gets at most one retry. (Mirrors the global retry-safety rule.)