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.

How alerts are deliveredWhen a dataset publishes or a run finishes, each alert rule evaluates its condition. A match fires one alert that is delivered to the channels the rule selects: in-app, Slack, email, webhook or browser push.Dataset publishesor a run finishesAlert rulecondition + thresholdFiresone alert per eventIn-app + bellSlackEmailWebhook / pushmatches
A rule watches a dataset or a run. When it fires, every attached channel gets one message.

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

  1. 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.
  2. Turn on Incoming Webhooks. In the app’s settings, open Incoming Webhooks and switch it on.
  3. Add a webhook to the channel. Press Add New Webhook to Workspace, pick the channel alerts should go to, and allow it.
  4. 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

  1. Add integration and choose Slack webhook under Notifications.
  2. Fill in the form using the fields below.
  3. 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.
The Connect Slack form with the Label and Incoming Webhook URL fields
One field. Which channel it posts to was decided when you created the webhook in Slack.
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.

  1. Add integration and choose Browser push under Notifications.
  2. Enable on this device. Your browser asks permission to show notifications; allow it. You see “This device will now receive browser notifications.”
  3. 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.

  • A running run. The bell on the run page, Notify me when this finishes, sends one message when the run completes or fails. With browser push available it subscribes your browser at once; otherwise, or by choice, the Notify me by menu lists every live Slack, email and webhook channel in the workspace. Choose None to cancel.
  • A Jason task. While Jason is working, Notify me in the chat’s side rail does the same for that turn. Once set, it reads “You’ll be notified by " with an **edit** link to change the channel.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. Add integration and choose Jason for Slack under Popular. The Connect Slack dialog explains the flow.
  2. 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).
  3. Invite Jason to a channel. In Slack, add @Jason to the channel that should be able to reach this workspace.
  4. Say “@Jason connect”. Jason replies with a link that is valid for fifteen minutes.
  5. 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:

  • One channel, one workspace. A channel can be connected to exactly one Jsonify workspace. Asking to connect again gets “This channel is already connected to ." To point it elsewhere, delete the integration and connect again.
  • One Slack workspace, one organisation. Jason can be installed into a Slack workspace by one Jsonify organisation.
  • The connecting member matters. The connection is authorised by the member who confirmed it. If that person later loses access to the organisation, Jason answers “This channel’s Jsonify permission is no longer valid. Reconnect the channel.” and the integration turns Revoked. Any current member can reconnect with “@Jason connect”.
  • Chats are visible in Jsonify. Conversations started from Slack appear in the workspace’s chat history like any other.

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.

  1. Open Home. Look for the card Set up a shared Slack Connect channel with the Jsonify team.
  2. 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.
  3. Accept in Slack. Open the invitation, choose your Slack workspace, and accept. Your Slack administrator may need to approve the connection first.
  4. 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

Connect your data assistant

Build datasets and work with your data in ChatGPT, Claude, Copilot or another assistant.

Connect in ChatGPT

  1. Open Settings → Security and login and enable Developer mode.
  2. Open Plugins and select + to create a connection. Name it Jsonify, add a short description, and paste the URL below.
  3. Use OAuth for authentication, select Create, and sign in to your Jsonify account when prompted.
  4. Start a new chat and select Jsonify from + → More, then describe your dataset.
Server URLhttps://factory.jsonify.com/mcp

If Developer mode is unavailable, your plan or workspace settings may restrict custom connections.

Official ChatGPT setup guide ↗

Then say: “build me a dataset of competitor product prices and availability, refreshed daily”. Full instructions per client on /connect.