# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Clickup Webhooks API version: 1.0.0 extends: openapi/clickup-webhooks-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 8 - target: $.paths['/v2/team/{team_id}/webhook'].get update: x-apievangelist-phrasing: intent: List my webhooks in a Workspace (v2) effect: read questions: - Which webhooks have I set up for my ClickUp Workspace? - Does the v2 webhook list include ones created by other users? instructions: - text: List the v2 webhooks I created in Workspace {team_id}. slots: team_id: path.team_id - text: Show my API webhooks for {team_id} using v2. slots: team_id: path.team_id method: generated generated: '2026-09-26' - target: $.paths['/v2/team/{team_id}/webhook'].post update: x-apievangelist-phrasing: intent: Subscribe to Workspace events (v2) effect: write questions: - Can I get notified at my own URL when tasks change in one List? - Does the v2 webhook service send from a fixed IP address I can allowlist? instructions: - text: Using v2, create a webhook in Workspace {team_id} sending {events} to {endpoint}. slots: team_id: path.team_id events: requestBody.events endpoint: requestBody.endpoint - text: Watch List {list_id} in {team_id} for {events} and post them to {endpoint} via v2. slots: list_id: requestBody.list_id team_id: path.team_id events: requestBody.events endpoint: requestBody.endpoint method: generated generated: '2026-09-26' - target: $.paths['/v2/webhook/{webhook_id}'].put update: x-apievangelist-phrasing: intent: Change a webhook's events (v2) effect: write questions: - Can I change which events a webhook listens for in v2? - How do I reactivate a webhook that was suspended? instructions: - text: Using v2, point webhook {webhook_id} at {endpoint} for events {events} with status {status}. slots: webhook_id: path.webhook_id endpoint: requestBody.endpoint events: requestBody.events status: requestBody.status - text: Set v2 webhook {webhook_id} to {status}, keeping endpoint {endpoint} and events {events}. slots: webhook_id: path.webhook_id status: requestBody.status endpoint: requestBody.endpoint events: requestBody.events method: generated generated: '2026-09-26' - target: $.paths['/v2/webhook/{webhook_id}'].delete update: x-apievangelist-phrasing: intent: Delete a webhook (v2) effect: destructive questions: - How do I stop a webhook from monitoring events via v2? - Is there a v2 call to remove a webhook I no longer need? instructions: - text: Delete v2 webhook {webhook_id}. slots: webhook_id: path.webhook_id - text: Stop monitoring with webhook {webhook_id} by removing it through v2. slots: webhook_id: path.webhook_id method: generated generated: '2026-09-26' - target: $.paths['/team/{team_id}/webhook'].get update: x-apievangelist-phrasing: intent: List webhook subscriptions (legacy path) effect: read questions: - On the older unversioned path, can I see each webhook's health information? - Does the legacy endpoint return subscribed events and status for every webhook? instructions: - text: On the legacy path, fetch webhook subscriptions with health info for Workspace {team_id}. slots: team_id: path.team_id - text: Using the older endpoint, report the status of every event subscription in {team_id}. slots: team_id: path.team_id method: generated generated: '2026-09-26' - target: $.paths['/team/{team_id}/webhook'].post update: x-apievangelist-phrasing: intent: Create a webhook subscription (legacy path) effect: write questions: - Does the older unversioned endpoint return a shared secret for signing webhook payloads? - On the legacy path, can a subscription be scoped to a single task? instructions: - text: On the legacy path, subscribe {endpoint} to {events} in Workspace {team_id}. slots: endpoint: requestBody.endpoint events: requestBody.events team_id: path.team_id - text: Using the older endpoint, notify {endpoint} of {events} on task {task_id} in {team_id}. slots: endpoint: requestBody.endpoint events: requestBody.events task_id: requestBody.task_id team_id: path.team_id method: generated generated: '2026-09-26' - target: $.paths['/webhook/{webhook_id}'].put update: x-apievangelist-phrasing: intent: Edit a webhook subscription (legacy path) effect: write questions: - Can the older unversioned endpoint change only a subscription's URL? - On the legacy path, are all webhook fields optional on edit? instructions: - text: On the legacy path, move subscription {webhook_id} to URL {endpoint}. slots: webhook_id: path.webhook_id endpoint: requestBody.endpoint - text: Using the older endpoint, swap subscription {webhook_id}'s events for {events}. slots: webhook_id: path.webhook_id events: requestBody.events method: generated generated: '2026-09-26' - target: $.paths['/webhook/{webhook_id}'].delete update: x-apievangelist-phrasing: intent: Delete a webhook subscription (legacy path) effect: destructive questions: - Do events stop immediately when a subscription is erased on the older unversioned path? - Is removing a webhook through the legacy endpoint permanent? instructions: - text: Permanently erase subscription {webhook_id} on the legacy path. slots: webhook_id: path.webhook_id - text: Using the older endpoint, cut off event delivery for {webhook_id}. slots: webhook_id: path.webhook_id method: generated generated: '2026-09-26'