Integrations
Integrations — Slack, Discord, webhooks (Pro)
Pro lets you push every new comment + approval to Slack, Discord, or any HTTP endpoint (Zapier / Make / n8n / custom).
Slack
Reviso sends Slack notifications via Workflow Builder. Slack’s older “Incoming Webhooks” app still works today but Slack has flagged it for eventual removal, so we’ve standardised on Workflow Builder — it’s where Slack is putting all its new tooling and it gives you a lot more control over what the message looks like.
This setup has two parts: building a workflow in Slack, then pasting its URL into Reviso. Plan on about 5 minutes.
Step 1 — create the workflow in Slack
- In Slack, open Tools → Workflow Builder (top-left workspace menu → Tools & settings → Workflow Builder).
- Click New Workflow → Build Workflow.
- For the trigger, choose From a webhook.
- Click Set up variables, then add the following six variables. Names must match exactly, and all of them are Data type: text: Variable name Data type
summaryTexteventTextauthorTextbodyTextpage_titleTextpage_urlText
Important: all six must exist. Slack rejects the whole webhook with a 400 error if Reviso sends a variable the trigger doesn’t know about — there’s no partial delivery.
- Click Done to save the trigger. Slack shows you a Web request URL like
https://hooks.slack.com/triggers/T.../.... Copy it. - Add at least one step. The simplest is Messages → Send a message to a channel:
- Send this message to: pick the channel.
- Add a message: insert variables from the right-hand panel. A good starting point is just
{{summary}}— that gives you the same one-line message Reviso would have sent the old way. For richer formatting, mix and match the other variables, e.g. 💬 New comment from{{author}}on{{page_title}}{{body}}{{page_url}}
- Click Publish.
Step 2 — paste the URL into Reviso
- WP-admin → Reviso → Settings → Integrations → Slack Workflow / Discord webhook URL → paste the trigger URL, save.
- Pick which events trigger a message — comments, replies, approvals.
- Click Send test. The message should land in the channel within a couple of seconds. If you get an error like “Unsupported Slack URL”, the URL you pasted is the legacy
/services/…shape — go back to Workflow Builder and copy the trigger URL instead (it contains/triggers/).
You can include or exclude reviewer email addresses in the payload (off by default for privacy). Slack/Discord messages never include the email regardless — the toggle only affects the generic webhook payload.
What Reviso sends
For every event, Reviso POSTs a JSON body with exactly the six variables above, all as strings. summary is the same human-readable line we’d send via the old method (💬 New comment from Sarah on "About": The header feels heavy on mobile.). The other fields are the raw pieces so you can format them yourself in the workflow:
summary— pre-formatted one-liner. Use this if you just want the message to “look like Slack”.event— one ofcomment.created,comment.replied,approval.created,test.ping. Useful for branching in the workflow (e.g. route approvals to a different channel).author— reviewer name.body— the comment text, truncated to ~25 words.page_title— title of the page the comment was left on.page_url— direct link to that page.
Routing different events to different channels
Workflow Builder supports conditional steps. After the trigger, add a Branch (if/else) step and switch on the event variable — e.g. if event equals approval.created, send to #client-approvals; else send to #design-feedback. You only need one Reviso webhook URL for this; the branching happens entirely inside Slack.
Discord
Discord’s webhooks are Slack-compatible. In Discord: Channel settings → Integrations → Webhooks → Create webhook → copy URL → paste into Reviso’s Slack field. Same flow.
Generic webhook (Zapier / Make / n8n / your own)
For anything Slack-shaped:
- Settings → Integrations → Generic webhook URL → paste the destination.
- Optional: add a custom header (e.g.
X-Auth-Token: …) if your endpoint requires auth. - Save → test.
Payload format (JSON):
{
"event": "comment.created",
"site": "https://example.com",
"review_id": 42,
"review_name": "Acme Homepage R2",
"page_id": 17,
"page_title": "About",
"page_url": "https://example.com/about/",
"comment_id": 91,
"comment_body": "The header feels heavy on mobile.",
"author_name": "Sarah",
"author_email": "sarah@client.com",
"timestamp": "2026-05-25T14:03:00Z"
}
Events: comment.created, comment.replied, comment.assigned, comment.resolved, page.approved, review.created, review.closed.
Zapier-style use cases
- New comment → ClickUp task
- New approval → Trello card move
- New comment with priority “high” → SMS via Twilio
- New review created → Slack channel created
- All events → Notion database row
Zapier and Make both have a generic “Webhook by Zapier / Webhook” trigger — paste Reviso’s webhook URL as the source and you have full access to the payload above.
Privacy + payload control
By default the webhook payload includes:
- Comment body (the actual feedback text)
- Reviewer name
- Page URL
Excluded by default:
- Reviewer email address (you can opt to include via the “Include reviewer email” checkbox)
- IP addresses
- User-agent
You control the destination. Reviso has no relationship with the third-party service you’re pushing to — Slack/Discord/Zapier/etc are your subprocessors, not ours.
Rate limits
If a reviewer hammers comments, Reviso throttles webhook delivery to avoid getting your Slack workspace muted. Default: max 30 messages / minute / webhook. Configurable in Settings → Integrations → Advanced.