curl --request POST \
--url 'https://api.scanova.io/webhook/slack/notification-rule/' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "New leads",
"lead_capture": true,
"lead_list_ids": [12],
"channel_ids": ["C0123ABC"]
}'
{
"id": 6,
"name": "New leads",
"lead_capture": true,
"qr_scan": false,
"form_response": false,
"qr_created": false,
"qr_deleted": false,
"page_created": false,
"page_deleted": false,
"shared_user_added": false,
"shared_user_deleted": false,
"custom_domain_added": false,
"custom_domain_deleted": false,
"lead_list_ids": [12],
"channel_ids": ["C0123ABC"],
"created": "2026-09-09T08:00:00+05:30",
"modified": "2026-09-09T08:00:00+05:30"
}
Integrations
List / create Slack notification rules
GET, POST /webhook/slack/notification-rule/
GET
/
webhook
/
slack
/
notification-rule
/
curl --request POST \
--url 'https://api.scanova.io/webhook/slack/notification-rule/' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "New leads",
"lead_capture": true,
"lead_list_ids": [12],
"channel_ids": ["C0123ABC"]
}'
{
"id": 6,
"name": "New leads",
"lead_capture": true,
"qr_scan": false,
"form_response": false,
"qr_created": false,
"qr_deleted": false,
"page_created": false,
"page_deleted": false,
"shared_user_added": false,
"shared_user_deleted": false,
"custom_domain_added": false,
"custom_domain_deleted": false,
"lead_list_ids": [12],
"channel_ids": ["C0123ABC"],
"created": "2026-09-09T08:00:00+05:30",
"modified": "2026-09-09T08:00:00+05:30"
}
A notification rule picks which account events (lead capture, QR Code scans, form responses, etc.) post to which Slack channels.
If there’s no connected Slack workspace,
Requires the account’s
INTEGRATION_SLACK quota.string
required
Rule display name.
boolean
Notify on a new lead capture.
boolean
Notify on a QR Code scan.
boolean
Notify on a new form response.
boolean
Notify when a QR Code is created.
boolean
Notify when a QR Code is deleted.
boolean
Notify when a landing page is created.
boolean
Notify when a landing page is deleted.
boolean
Notify when a shared user is added.
boolean
Notify when a shared user is removed.
boolean
Notify when a custom domain is connected.
boolean
Notify when a custom domain is removed.
array
Restrict
lead_capture notifications to these lead list ids. Omit/empty for all lists.array
required
Slack channel ids (from List Slack channels) to post to.
curl --request POST \
--url 'https://api.scanova.io/webhook/slack/notification-rule/' \
--header 'Authorization: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"name": "New leads",
"lead_capture": true,
"lead_list_ids": [12],
"channel_ids": ["C0123ABC"]
}'
{
"id": 6,
"name": "New leads",
"lead_capture": true,
"qr_scan": false,
"form_response": false,
"qr_created": false,
"qr_deleted": false,
"page_created": false,
"page_deleted": false,
"shared_user_added": false,
"shared_user_deleted": false,
"custom_domain_added": false,
"custom_domain_deleted": false,
"lead_list_ids": [12],
"channel_ids": ["C0123ABC"],
"created": "2026-09-09T08:00:00+05:30",
"modified": "2026-09-09T08:00:00+05:30"
}
GET returns an empty list rather than 404 — only actions that need to write against the workspace (POST) raise 404.
Related
- Retrieve / update / delete a Slack notification rule
- List Slack channels
- Slack connection status
- Management API overview — the auth scheme and quota architecture this endpoint is part of.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Response
200 - application/json
Rules for the connected workspace (empty list if none connected).
Was this page helpful?