Slack and email
Send alerts into a Slack channel, an inbox, your browser or your own URL, talk to Jason from Slack, and get a shared support channel with the Jsonify team.
Notification integrations are where alerts land. You create the channel once, then attach it to any number of alert rules. The same channels are offered when you ask to be told when a run finishes or when Jason completes a task.
This page covers the four notification channels (Slack, email, browser push, alert webhook) and the two Slack features that are not alert channels: Jason for Slack, which lets a channel talk to Jason, and the Slack Connect support channel with the Jsonify team.
Slack alerts
Slack webhook posts one message per alert into a channel of your choosing. It uses a Slack incoming webhook, so the channel is chosen in Slack, not in Jsonify.
Create the webhook in Slack
- Open your Slack apps. Go to api.slack.com/apps and create an app (or open one you already have) in the Slack workspace that owns the channel.
- Turn on Incoming Webhooks. In the app’s settings, open Incoming Webhooks and switch it on.
- Add a webhook to the channel. Press Add New Webhook to Workspace, pick the channel alerts should go to, and allow it.
- Copy the webhook URL. It starts with
https://hooks.slack.com/services/. Treat it as a secret; anyone holding it can post to that channel.
Connect it in Jsonify
- Add integration and choose Slack webhook under Notifications.
- Fill in the form using the fields below.
- Connect. Jsonify posts “:white_check_mark: Jsonify connected” to the channel. If that message does not arrive, the URL is wrong or Slack rejected it; the form shows Slack’s answer.
| Option | Values | Default | What it does |
|---|---|---|---|
| Label | Text | “Slack” | How this channel appears in pickers, for example in the alert rule editor. Name it after the channel: “Slack #pricing-alerts” |
| Incoming Webhook URL | A URL beginning https://hooks.slack.com/ |
Required | Where messages are posted. Jsonify refuses any other host |
What a Slack alert looks like
Each alert is one message: an emoji for the severity, the rule name in bold, then the body on the next line. The body starts with the reason the rule fired and, for dataset rules, the counts of rows added, removed, changed or matched.
:rotating_light: Price drop over 10% 3 rows matched the condition 3 matched
The emoji follows the rule’s severity: :rotating_light: for Danger, :warning: for Warning, :white_check_mark: for Success and :bell: for Info. Run and Jason notifications add a link to the run or the chat.
Slack shows the message in whichever channel the webhook was created for. To route different rules to different channels, create one Slack webhook integration per channel and attach each rule to the right one.
Email alerts
Email notifications sends each alert to one address. Jsonify delivers the mail itself; there is nothing to configure on your side.
| Option | Values | Default | What it does |
|---|---|---|---|
| Label | Text | “Email” | How this channel appears in pickers |
| Recipient email | One address | Your sign-in address | Where every alert attached to this channel is sent |
Connect sends a real email with the subject “Jsonify: integration connected” and an Open notifications button. If it does not arrive within a minute, check spam, then check the address.
Alerts arrive with the subject [Jsonify] <rule name>. The body carries the reason and counts, as in the Slack example, plus a button: View notification for an alert rule, View run for a run notification, Open task for a Jason task.
To email several people, create one Email notifications integration per address and attach each to the rule. For a distribution list, use the list’s address.
Email alerts are for rules and run notifications. For a written summary of fresh data on a schedule, use a newsletter, which has its own recipient list. For Jason’s daily “anything worth sharing?” email, see Jason Emails in Workspace settings.
Browser push
Browser push alerts your browser even when the Jsonify tab is closed. It is also the channel behind the “notify me when done” bell on a running run and on a Jason chat.
It has no fields. The integration is bound to you, the person who created it, and every browser you subscribe gets the alerts.
- Add integration and choose Browser push under Notifications.
- Enable on this device. Your browser asks permission to show notifications; allow it. You see “This device will now receive browser notifications.”
- Repeat on other browsers. Open the integration again from another browser and press Re-enable. Each browser subscribes separately.
If the button reports “This browser can’t receive push notifications”, the browser does not support them (some private windows, some mobile browsers) or notifications are blocked in its site settings.
Alert webhooks
Send alert webhook sends the alert as JSON to a URL you own. Use it to open a ticket, post to a chat tool Jsonify does not connect to yet, or feed your own automation.
| Option | Values | Default | What it does |
|---|---|---|---|
| Label | Text | “Webhook” | How this channel appears in pickers |
| Target URL | An http:// or https:// URL |
Required | Where the alert is sent |
Connect sends a test message, {"kind": "test", "message": "Jsonify connected"}, and expects a success answer within ten seconds. When a rule fires, one request is sent per alert:
{
"kind": "notification",
"title": "Price drop over 10%",
"body": "3 rows matched the condition\n3 matched",
"reason": "3 rows matched the condition",
"severity": "danger",
"notification_id": "n7f2c9a1b3d4",
"description": "Any offer whose price fell by more than a tenth since the last run",
"matches": [ ... ],
"matches_count": 3
}
kind tells your endpoint what arrived. severity is one of info, warning, danger or success. Dataset rules add added, removed, changes or matches lists with their counts; run notifications add run_id and run_url instead. Your endpoint must answer within ten seconds. For sending rows rather than alerts, see Send rows to a webhook.
Attaching a channel to a rule
Channels do nothing on their own. In the alert rule editor, choose one or more channels for the rule; a rule with no channel is still recorded in Alert history but delivered nowhere. Each delivery, and each failure, is recorded against the alert in history, so if a Slack message does not arrive, history says why.
A team watching competitor prices keeps three channels: “Slack #pricing-alerts” for every rule, “Email ops” for Danger rules only, and Browser push for the person on duty who wants the run-finished bell. Rules attach to the channels that fit their severity.
Being told when something finishes
Two places offer a one-off notification that is not an alert rule, and both use the channels on this page.
If no channel exists, the menu says so and links to the Integrations page. The message that arrives carries the run’s or the task’s name, the outcome, and a link straight to it.
Browser push is the default because it needs no setup, but it only reaches the devices you subscribed. When you want a teammate to see the run finish too, pick the Slack channel instead.
When a message does not arrive
- Check Alert history. Every delivery is recorded with its channel and, on failure, the reason Slack, your mail provider or your endpoint gave. See Alert history.
- Check the integration is Live. A channel that is Needs setup delivers nothing. Open it, press Save on the Settings tab and read the result.
- Re-test. Save on the Settings tab re-runs the connection check and sends a fresh test message, so you can tell a channel problem from a rule problem in one step.
- Check the rule. A rule that did not fire has no delivery to record. The rule’s own history says whether the condition was met on the latest version.
Jason for Slack
Jason for Slack is different from the Slack webhook. It does not deliver alerts; it lets people in a Slack channel talk to Jason about one workspace, as if they had opened the chat in Jsonify.
Install Jason in Slack
- Add integration and choose Jason for Slack under Popular. The Connect Slack dialog explains the flow.
- Install Jason in Slack. You are sent to Slack to approve the app for your Slack workspace. Back in Jsonify you see “Jason was installed in Slack” (or “Slack installation was cancelled” if you backed out).
- Invite Jason to a channel. In Slack, add @Jason to the channel that should be able to reach this workspace.
- Say “@Jason connect”. Jason replies with a link that is valid for fifteen minutes.
- Confirm the workspace. The link opens Connect Jason to this Slack channel in Jsonify. It shows the Slack channel, the Slack workspace and the Jsonify workspace you currently have open. Press Connect #channel.
Jason confirms in Slack, and an integration named “Slack · #channel” appears under Services, status Live. From then on, mentioning @Jason in that channel starts or continues a chat in this workspace.
Everyone in the Slack channel can ask Jason to read and change the connected workspace. Remove someone from the channel, or delete the integration, to take that away.
A few rules about the binding:
The integration’s Settings tab lets you rename it; there is nothing else to edit. Deleting it disconnects the channel immediately.
Slack Connect with the Jsonify team
Separate from both features above, every workspace can have a private Slack Connect channel shared between your team and the Jsonify team, for questions, feedback and help with a build. It is offered from the workspace Home page rather than the Integrations page.
- Open Home. Look for the card Set up a shared Slack Connect channel with the Jsonify team.
- Email me a Slack Connect invitation. Jsonify creates a private channel for this workspace, adds the Jsonify team, and sends a Slack Connect invitation to your account email.
- Accept in Slack. Open the invitation, choose your Slack workspace, and accept. Your Slack administrator may need to approve the connection first.
- Check connection. Back in the dialog, press Check connection. Once Slack confirms the channel is shared, it says “Your shared channel with the Jsonify team is connected.” and disappears from Home.
Pressing the button twice never sends a second invitation. If the card says the Jsonify team is still finishing setup, check back later or use the Jason for Slack channel to reach us.
Choosing a channel
| You want | Use |
|---|---|
| A message in a team channel every time a rule fires | Slack webhook |
| A record in an inbox, or a message to someone without Slack | Email notifications |
| A ping on your own screen, including the “notify me when done” bell | Browser push |
| To open a ticket or trigger your own automation from an alert | Send alert webhook |
| To ask Jason questions and request changes from Slack | Jason for Slack |
| To talk to the Jsonify team | Slack Connect |
What’s next
Conditions on datasets and runs, severities, and attaching channels.
Alert historyEvery alert that fired, where it went, and whether delivery succeeded.
Tutorial: a Slack price alertFrom an empty workspace to a message in a channel.
NewslettersScheduled written summaries of fresh data, emailed to a recipient list.