---
title: "Integrations overview"
description: "Connect Slack, email, sheets, webhooks, your own agent and the command line to a workspace, and know what each status means."
url: "https://www.jsonify.com/docs/integrations/overview"
---

[Documentation](https://www.jsonify.com/docs/) Filter pages

## Getting started

*   [What is Jsonify?](https://www.jsonify.com/docs/)
*   [How pipelines work](https://www.jsonify.com/docs/how-jsonify-works)
*   [Your first pipeline](https://www.jsonify.com/docs/getting-started/first-pipeline)
*   [Workspaces](https://www.jsonify.com/docs/getting-started/workspaces)
*   [Glossary](https://www.jsonify.com/docs/getting-started/glossary)

## Tutorials

*   [Track the Hacker News front page](https://www.jsonify.com/docs/tutorials/hacker-news)
*   [Monitor prices across retailers](https://www.jsonify.com/docs/tutorials/price-monitoring)
*   [Get a Slack alert when a price drops](https://www.jsonify.com/docs/tutorials/slack-price-alert)
*   [Use a dataset from your agent](https://www.jsonify.com/docs/tutorials/agent-query)

## Jason

*   [Chatting with Jason](https://www.jsonify.com/docs/jason/chat)
*   [Changing a pipeline](https://www.jsonify.com/docs/jason/changing-a-pipeline)
*   [Agents, workers and repairs](https://www.jsonify.com/docs/data-agents)

## Pipelines

*   [The pipeline page](https://www.jsonify.com/docs/pipelines/overview)
*   [Statement of work and steps](https://www.jsonify.com/docs/pipelines/statement-of-work)
*   [Inputs and parameters](https://www.jsonify.com/docs/pipelines/inputs)
*   [Settings reference](https://www.jsonify.com/docs/pipelines/settings)
*   [Versions and changelog](https://www.jsonify.com/docs/pipelines/versions)

## Runs

*   [Running a pipeline](https://www.jsonify.com/docs/runs/running)
*   [Scheduling](https://www.jsonify.com/docs/runs/scheduling)
*   [Run detail](https://www.jsonify.com/docs/runs/run-detail)
*   [Run lifecycle](https://www.jsonify.com/docs/runs/lifecycle)
*   [Verification and repair](https://www.jsonify.com/docs/runs/verification-and-repair)

## Datasets

*   [Dataset pages](https://www.jsonify.com/docs/datasets/overview)
*   [Versions](https://www.jsonify.com/docs/datasets/versions)
*   [Query and export](https://www.jsonify.com/docs/datasets/query-and-export)
*   [Row detail and provenance](https://www.jsonify.com/docs/datasets/provenance)
*   [Sharing](https://www.jsonify.com/docs/datasets/sharing)

## Analytics

*   [Dashboards](https://www.jsonify.com/docs/analytics/dashboards)
*   [Newsletters](https://www.jsonify.com/docs/analytics/newsletters)

## Alerts

*   [Alert rules](https://www.jsonify.com/docs/alerts/rules)
*   [Alert history and notifications](https://www.jsonify.com/docs/alerts/history)

## Integrations

*   [Integrations overview](https://www.jsonify.com/docs/integrations/overview)
*   [Slack and email](https://www.jsonify.com/docs/integrations/slack-and-email)
*   [Sheets, warehouses and webhooks](https://www.jsonify.com/docs/integrations/destinations)
*   [Ingest and serve API](https://www.jsonify.com/docs/integrations/api)
*   [Connect your agent (MCP)](https://www.jsonify.com/docs/integrations/mcp)
*   [Command line](https://www.jsonify.com/docs/integrations/cli)

## Workspace and account

*   [Workspace settings](https://www.jsonify.com/docs/workspace/settings)
*   [Team](https://www.jsonify.com/docs/workspace/team)
*   [Billing and usage](https://www.jsonify.com/docs/workspace/billing)
*   [Data retention](https://www.jsonify.com/docs/workspace/data-retention)

## Plans

*   [Radar or Benchmark? Enterprise](https://www.jsonify.com/docs/radar-vs-benchmark)
*   [Row pricing and managed service](https://www.jsonify.com/docs/pricing-model)

## More

*   [Connect your agent](https://www.jsonify.com/connect)
*   [Pricing](https://www.jsonify.com/pricing)
*   [Contact support](https://www.jsonify.com/contact)

[Docs](https://www.jsonify.com/docs/)/Integrations

# Integrations overview

Connect Slack, email, sheets, webhooks, your own agent and the command line to a workspace, and know what each status means.

An integration is a connection between a workspace and something outside it. Some receive alerts, some receive data, some feed data in, and some give another tool access to the workspace. They all live on one page, **Integrations**, in the sidebar.

1.  **Add**pick from the catalogue
2.  **Connect**label, fields, one test
3.  **Live**ready to attach
4.  **Use**alert rules, datasets, your tools

Every integration goes through the same four steps. The test at Connect is what moves it to Live.

## Four kinds of integration

Each integration has one purpose. The purpose decides where it shows up elsewhere in the product and what its card badge looks like.

| Purpose | Badge | What it does | Examples |
| --- | --- | --- | --- |
| Notifications | Bell, violet | Receives alerts when an alert rule fires, when a run you asked to be told about finishes, or when Jason completes a task | Slack webhook, Email notifications, Browser push, Send alert webhook |
| Source | Arrow down, green | Feeds rows into a dataset, or starts a run | Receive JSON webhook, Fetch external JSON, Google Sheets (pull), Pipeline Trigger |
| Sink | Arrow up, blue | Receives every new version of a dataset, or serves it on request | Google Sheets (push), Send rows webhook, Publish Dataset API |
| Service | Key, amber | Gives another tool access to the workspace | Jsonify CLI, Jason for Slack |

**Assistant connections** are a fifth group on the same page. They are not workspace integrations: an assistant connection belongs to your account and follows you across every workspace you can see. See [Connect your agent (MCP)](https://www.jsonify.com/docs/integrations/mcp).

## The Integrations page

![The All Integrations page with cards grouped under Sources, Sinks, Notifications and Services](/assets/images/product/integrations-page.png)

Every connection in the workspace, grouped by purpose. The card footer shows the type, the status and when it last changed.

The page is titled **All Integrations**. Cards are grouped in a fixed order: **Sources**, **Sinks**, **Notifications**, **Services**, then **Assistant connections**.

*   **Add integration** (top right) opens the catalogue. Other parts of the product, such as the alert rule editor, open the same catalogue when you ask for a channel that does not exist yet.
*   **Search integrations…** matches the label you gave an integration and its type name.
*   **Category** filters the list. Each option shows a count: **All**, **Sources**, **Sinks**, **Notifications**, **Services**, **Assistant connections**.
*   **Sort** offers **Service type** (default, grouped by type then label), **Last updated** and **Name**.
*   **Clear filters** appears once a search or filter is active.
*   **Refresh** reloads both the workspace integrations and your assistant connections.

Each card shows:

*   **Icon and label.** The label is the name you gave the integration. If it points at a dataset or pipeline with its own icon, the card borrows that icon.
*   **Subtitle.** A one-line description of the type, for example “Receive JSON rows at a secret POST URL.”
*   **Corner badge.** The purpose, with a tooltip.
*   **Footer.** The type (“Slack webhook”, “Publish Dataset API”, “Pipeline Trigger”), a status dot with its label, and how long ago the integration changed.
*   **Menu.** **Delete**, with a confirmation.

Click a card to open its [detail page](https://www.jsonify.com/docs/integrations/overview#the-integration-detail-page).

> A workspace with nothing connected shows “No integrations yet” with an **Add integration** button. Alert rules can still be created without a channel; they are recorded in [Alert history](https://www.jsonify.com/docs/alerts/history) but delivered nowhere until you attach one.

## What you can connect

The catalogue lists everything Jsonify can connect today. Each entry below opens a short setup form; the pages in this section describe every field.

### Notifications

| Integration | What it does | Details |
| --- | --- | --- |
| Slack webhook | Posts one message per alert into a Slack channel through an incoming webhook | Slack and email |
| Email notifications | Emails each alert to one recipient | Slack and email |
| Browser push | Alerts your browser, even when Jsonify is closed. Also powers the “notify me when done” bell on runs | Slack and email |
| Send alert webhook | Sends the alert as JSON to a URL you own when a rule fires | Slack and email |

### Sources

| Integration | What it does | Details |
| --- | --- | --- |
| Receive JSON webhook | A secret URL you send rows to. Each request writes a new dataset version | Ingest and serve API |
| Fetch external JSON | Jsonify reads rows from a JSON endpoint you own into a dataset | Ingest and serve API |
| Google Sheets (pull) | Reads a public sheet into a dataset | Sheets, warehouses and webhooks |
| Pipeline Trigger | A secret URL that starts a run of one pipeline, with parameters | Ingest and serve API |

### Sinks

| Integration | What it does | Details |
| --- | --- | --- |
| Google Sheets (push) | Writes rows to a sheet every time the dataset gets a new version | Sheets, warehouses and webhooks |
| Send rows webhook | Sends new rows, or the whole dataset, to a URL you own after every new version | Sheets, warehouses and webhooks |
| Publish Dataset API | A secret URL that returns the latest rows of a dataset on request | Ingest and serve API |

### Services

| Integration | What it does | Details |
| --- | --- | --- |
| Jsonify CLI | A workspace-scoped key for the command line, for a person or an agent | Command line |
| Jason for Slack | Lets a Slack channel talk to Jason about this workspace | Slack and email |
| Assistant connection | Connects an MCP assistant to your account | Connect your agent (MCP) |

The catalogue also has a **Disabled** tab listing warehouses, cloud storage, BI tools and CRMs that are on the way. Those cards cannot be selected yet; the tab says who to contact. See [Sheets, warehouses and webhooks](https://www.jsonify.com/docs/integrations/destinations#warehouses-and-cloud-storage) for what to do in the meantime.

## Adding an integration

1.  **Open the catalogue.** Press **Add integration**. The picker opens on the **Enabled** tab; each tab shows how many entries it holds.
2.  **Find the entry.** Type in **Search…** to match a name or description, or narrow the **All categories** menu to one of **Popular**, **Data Warehouses**, **Cloud Storage**, **Spreadsheets**, **Business Intelligence**, **CRM**, **Notifications** or **Developer**. Cards are grouped by category; hover a card for its description.
3.  **Pick the direction, if asked.** Google Sheets can pull or push, so it asks **What should this do?** first. Choose one; **Back** returns to this step.
4.  **Name it.** **Label** is how the integration appears in pickers elsewhere, for example in the alert rule editor. It defaults to the type name. You can have several integrations of the same type with different labels.
5.  **Fill in the fields.** Required fields are marked with an asterisk; **Connect** stays disabled until each one has a value. Dataset fields offer **\+ Create new dataset**, which creates an empty dataset named after your label.
6.  **Connect.** Jsonify runs the check for that type (table below). A failure shows “Connection failed:” with the reason and leaves the form open so you can correct it. On success you see “ connected” and land on the detail page.

![The Add integration picker with Enabled and Disabled tabs, a search box, a category menu and cards grouped by category](/assets/images/product/integrations-add-picker.png)

The catalogue. Enabled entries open a setup form; Disabled entries are on the way.

> Fields that hold a secret, such as a webhook URL or an authorisation header, are masked in the form. Treat the integration itself as the secret: anyone who can open the workspace can open its detail page.

### What Connect checks

Connect is also the test. There is no separate test button; the same check runs again whenever you press **Save** on the detail page.

| Integration | What happens when you press Connect |
| --- | --- |
| Slack webhook | Posts “:white_check_mark: Jsonify connected” to the channel. Fails if the URL is not a Slack incoming webhook or Slack rejects it |
| Email notifications | Sends a real email, “Jsonify: integration connected”, to the recipient |
| Send alert webhook | Sends a small test message to your URL. Fails if it cannot be reached or answers with an error |
| Send rows webhook | Checks the URL and your selections only. Nothing is sent until the dataset next publishes |
| Fetch external JSON | Fetches the endpoint once and checks it returns JSON. The optional auth header is not sent during this check |
| Google Sheets (pull) | Reads the sheet through its public export. Fails if the sheet is not shared with “Anyone with the link” |
| Google Sheets (push) | Opens the sheet as Jsonify’s service account and checks the worksheet exists |
| Receive JSON webhook, Publish Dataset API, Pipeline Trigger | Checks your selections only. The URL is created immediately and needs nothing to test |
| Browser push | No check. It is live as soon as you create it; each device subscribes separately |

## Statuses

The status dot on a card and the pill on the detail page mean the same thing.

| Status | Colour | What it means | What to do |
| --- | --- | --- | --- |
| Live | Green | Connected and checked. Sources accept data, sinks deliver, notification channels can be attached to rules | Nothing |
| Needs setup | Amber | Created but never checked. This is where an integration sits if the connection failed and you closed the form | Open it, fill in Settings and press Save |
| Requested | Grey | An earlier request for an integration that is not yet available | Contact support |
| Revoked | Red | A CLI key that was revoked, or a Jason for Slack channel whose authorising member lost access | Issue a new key from the detail page, or reconnect the channel from Slack |

Secret URLs and keys only work while the integration is **Live**. A request to a URL whose integration is not live is refused.

## The integration detail page

Click any card to open it. The header shows the type icon, the label, the type, and the status pill. Below it are up to four tabs.

![An integration detail page with the Overview tab open, showing the connection details block and the facts grid](/assets/images/product/integrations-detail.png)

The Overview tab. Every value in the connection details block has a Copy link.

*   **Overview.** What the integration does, a **connection details** block (the secret URL for sources and sinks, the install commands for the CLI), and a facts grid: **Type**, **Flow**, **Created**, **Updated**, plus **Dataset** and **Pipeline** links when the integration points at one.
*   **Code.** Only on Receive JSON webhook, Publish Dataset API and Pipeline Trigger. Ready-made request samples for cURL and for your own program, each with a **Copy** button. See [Ingest and serve API](https://www.jsonify.com/docs/integrations/api).
*   **Settings.** The **Label** and every field from the setup form. **Save** runs the connection check again, then stores the change; you see “Connection successful.” (with “A test message was sent.” for notification channels) or “Connection failed:” with the reason. Jason for Slack has no editable settings beyond its label.
*   **Danger.** **Delete integration**, described below.

> Every **Copy** link in the connection details copies one value and confirms with a toast. Single-line values select themselves when you click them, so a keyboard copy works too.

## Where integrations appear elsewhere

You rarely open the Integrations page to _use_ an integration; other pages pick them up.

| Place | What you see |
| --- | --- |
| Alert rule editor | Every Live notification channel, by label, to attach to the rule. A link to add one if none exists |
| A running run or Jason chat | The bell, Notify me when done. Browser push is the default; the menu Notify me by lists every other live notification channel |
| A dataset page | A Connections strip listing the sources that feed it and the destinations it delivers to, each marked Live or Not live, plus a Sync button when a pulled source exists |
| A pipeline’s Run dialog | “Pipeline Trigger attached” when a trigger points at the pipeline, with a link to it |
| Chat history | Chats started from Slack, the CLI or an assistant carry a badge naming the integration or assistant |

## Which integration do I need?

| You want to | Use |
| --- | --- |
| Hear about a condition in the data, or a failed run, in Slack or by email | A notification channel plus an alert rule |
| Keep a spreadsheet up to date with a dataset | Google Sheets, Push rows to a sheet |
| Load rows into your own database or system after every run | Send rows webhook, or Publish Dataset API fetched by your loader |
| Let an app read the latest rows on demand | Publish Dataset API |
| Feed rows from a form, a partner or an internal job into a dataset | Receive JSON webhook |
| Use a spreadsheet or an endpoint you maintain as a pipeline input | Google Sheets Pull rows from a sheet, or Fetch external JSON |
| Start a run from a scheduler, a deploy or another tool | Pipeline Trigger |
| Work with Jsonify from a terminal, a job or an agent | Jsonify CLI |
| Work with Jsonify from ChatGPT, Claude, Copilot or another assistant | Assistant connection |
| Let a Slack channel talk to Jason | Jason for Slack |

## Who can do what

Anyone who can open the workspace can see the Integrations page, add most integrations and delete them. Three things are held to a tighter rule:

*   **CLI keys and Jason for Slack.** Creating, rotating or revoking a CLI key, installing Jason in Slack and connecting a channel need you to be a member of the organisation that owns the workspace.
*   **Assistant connections.** These are grants on your own account and are managed only by you.
*   **Browser push.** Bound to the person who created it. A rule attached to it pings that person’s devices only, even though the rule is workspace-wide.

## Removing an integration

You can remove an integration in three places: the card menu (**Delete**), the bulk bar after selecting several cards (**Delete**), or the detail page’s **Danger** tab (**Delete integration**). Each asks you to confirm.

Deleting is immediate and permanent:

*   Secret URLs stop resolving at once.
*   Sinks stop delivering. The dataset keeps publishing; only that destination goes quiet.
*   Alert rules attached to the channel stop delivering. The rules themselves remain, so re-attach them to another channel or they will fire into [Alert history](https://www.jsonify.com/docs/alerts/history) only.
*   A CLI integration’s key is revoked. A Jason for Slack integration’s channel is disconnected.
*   The integration is removed from any share link that included it.

Assistant connections cannot be deleted from the card menu or the bulk bar, because they belong to your account rather than the workspace. Open one and press **Disconnect**. See [Managing connections](https://www.jsonify.com/docs/integrations/mcp#managing-connections).

## Folders

The list supports the same folders as pipelines: create, rename and delete folders, and move integrations into them from the card menu or the bulk bar. Folders are a way to keep a busy page readable, for example one folder per customer whose CLI keys and webhooks you manage. They change nothing about how an integration behaves.

Assistant connections cannot be moved into folders; the page tells you so if you try.

> A busy team usually ends up with one folder per destination system and one for keys. Keep labels descriptive too: “Slack #pricing-alerts” reads better in the alert rule editor than “Slack”.

## What’s next

[**Slack and email**

Set up the channels alerts land in, and talk to Jason from Slack.

](https://www.jsonify.com/docs/integrations/slack-and-email)[**Sheets, warehouses and webhooks**

Where every new dataset version is delivered.

](https://www.jsonify.com/docs/integrations/destinations)[**Ingest and serve API**

Push rows in, trigger runs, and read rows out over HTTP.

](https://www.jsonify.com/docs/integrations/api)[**Alert rules**

Attach a notification channel to a condition on your data.

](https://www.jsonify.com/docs/alerts/rules)

[PreviousAlert history and notifications](https://www.jsonify.com/docs/alerts/history) [NextSlack and email](https://www.jsonify.com/docs/integrations/slack-and-email)

Something missing or wrong? [Tell us](https://www.jsonify.com/contact).[Build it →](https://factory.jsonify.com/setup)

## On this page
