Create Webhook
growsurf_create_campaign_webhookAdd a webhook to your GrowSurf program. payloadUrl is required. events is the list of events this webhook is subscribed to. Omit it to subscribe the webhook to every event its program type offers, or send [] for none. An event the program type does not offer returns 400. A program can have up to 5 webhooks, counting the primary webhook, so you can create up to 4. Creating another returns 400. secret is write-only — GrowSurf uses it to sign deliveries (the GrowSurf-Signature HMAC header) and never returns it. A program can have only one saved Bask Health webhook across all bask.ninja hosts and paths, including disabled webhooks. A second Bask Health webhook returns 400. A concurrent change to webhook settings can return 409; reload the webhooks before retrying. Targets campaignId if you pass it, otherwise GROWSURF_CAMPAIGN_ID.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"payloadUrl": "<payloadUrl>",
"campaignId": "<campaignId>"
},
"name": "growsurf_create_campaign_webhook"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| events | No | ||
| secret | No | Write-only. Signs deliveries; never returned. | |
| isEnabled | No | ||
| campaignId | Yes | Target program id for this call: the `id` returned by `growsurf_list_campaigns`, not the program name or a share URL. Defaults to GROWSURF_CAMPAIGN_ID when omitted. Program IDs also identify newly created programs without restarting the server. | |
| payloadUrl | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||