Integrations

May 25, 2026

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

  1. In Slack, open Tools → Workflow Builder (top-left workspace menu → Tools & settingsWorkflow Builder).
  2. Click New Workflow → Build Workflow.
  3. For the trigger, choose From a webhook.
  4. 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 summary Text event Text author Text body Text page_title Text page_url Text

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.

  1. Click Done to save the trigger. Slack shows you a Web request URL like https://hooks.slack.com/triggers/T.../.... Copy it.
  2. 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}}
  1. Click Publish.

Step 2 — paste the URL into Reviso

  1. WP-admin → Reviso → Settings → Integrations → Slack Workflow / Discord webhook URL → paste the trigger URL, save.
  2. Pick which events trigger a message — comments, replies, approvals.
  3. 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 of comment.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:

  1. Settings → Integrations → Generic webhook URL → paste the destination.
  2. Optional: add a custom header (e.g. X-Auth-Token: …) if your endpoint requires auth.
  3. 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.