Chatting with Jason

Where chats live, how to write a message, what you see while Jason works, how to answer questions and steer a running task, and how to reach Jason by email.

Jason is the agent that builds, changes and repairs pipelines and answers questions about your data. Everything you ask Jason to do happens in a chat. This page covers the chat surfaces, the composer, what the transcript shows, and the controls around a running task.

Where chats live

Every chat belongs to one workspace. There are three places to find them:

  • Conversations in the sidebar opens the list of all chats in the workspace, a page titled Chats at /chat/history. Its badge counts chats where Jason is working.
  • The Jason button bottom-right on every non-chat page opens the floating panel. Its Conversation history icon opens Conversations: the six most recent chats, New conversation, an Archive conversation action on each, and View all conversations.
  • When the sidebar is not pinned open, rest the pointer on Conversations for a hover panel headed History, with New chat and the eight most recent chats.

The Chats page

The Chats page with an active chat card at the top, grouped rows for Today and Earlier, and a New chat button
Chats. Active chats sit in their own grid above the grouped list.

The toolbar has a search box (Search chats…, matching titles, the first message, and who started the chat), two filters and New chat.

Filter What it shows
Recent Every chat that is not archived, grouped as Pinned chats, Today, Yesterday, Previous 7 days and Earlier. Chats where Jason is working, monitoring a run or waiting for an answer appear first as cards under N active chats.
Archived Chats you have archived. Each row’s menu has Unarchive; there is no selection.

Each row shows the title (Untitled chat until it has one), a snippet of the first message or the live status (Jason is working · 0:42, Jason is queued, Monitoring run, Needs answer), a source badge (web, email, MCP, timer, and so on), who started it and when. A red icon marks a chat where Jason stopped on an error and is waiting on you (Needs attention — Jason stopped on an error and is waiting on you.); an amber clock marks a chat with scheduled follow-ups. The row menu offers Pin (or Unpin) and Archive. Pins are kept in your browser only, so they do not change the list for anyone else. Select several rows (Select all / Clear per group) for a bulk Archive.

The list pages at 50 chats with Previous and Next. Empty states: No chats yet · Start a chat and it will appear here., No archived chats · Chats you archive will appear here., and No matching chats · Try a different filter.

The chat page

Open any chat and you get a full page at /chat/<id>.

A full chat page showing a build conversation with user messages, collapsed activity folds, Jason's replies and the Chat details rail on the right
A build chat. The rail on the right lists everything the chat has touched.

From top to bottom and left to right:

  • Breadcrumbs. The workspace / Chats / the chat title. New chat sits top right. An empty chat reads What should Jason work on?
  • Transcript. Your messages on the right, Jason’s replies and activity on the left. A Jump to latest pill appears when you scroll up.
  • Status area. Under the transcript: any pending question, a Goal card when Jason is working towards a longer objective, Monitoring when the chat is waiting on a run, and the Jason is working · m:ss status with Stop.
  • Composer. The message box, Attach and the send button.
  • Chat details rail. A column of icons on the right that expands on hover or pin. See the right-hand rail.

The browser tab’s icon pulses while Jason works, so you can leave the tab and glance back.

The composer

The chat composer with a message mentioning a pipeline, an attached file chip and the Attach and Send buttons
The composer with a pipeline mention and an attachment.
Control Behaviour
Message box Placeholder Ask Jason to build, inspect, or explain…. Grows as you type. Enter sends; Shift+Enter adds a line. Up to 65,536 characters; attach anything longer as a file.
Attach Opens the file picker. Any file type (CSV, PDF, image…).
Send button Sends the message and attachments together. If the send fails the text and files stay put for a retry.
@ Type @ and start a name to mention a pipeline or a ready dataset (up to eight suggestions). Arrow keys move, Enter or Tab accepts, Escape closes. The mention becomes a chip and tells Jason exactly which item you mean.

Attachment limits: 20 files per message, 25 MB per file, 100 MB per message. Attached files show as green chips; the X removes one. Jason reads attachments as part of the message: a spreadsheet of products, a PDF spec, a screenshot of the result you want.

@price-promotion-tracking is missing the multibuy offers on Sainsbury’s. Here is a screenshot of one. Add an offer_text column and capture them.

On a dataset page, rows you have selected in the table travel with the message as an amber N rows chip (up to 1,000 rows), so “why are these five prices zero?” needs no further explanation.

Other pages open a small Edit pipeline or New Pipeline dialog instead of the panel. It has the same box, Attach, dataset mentions, suggestion pills, and ⌘↵ to send.

The floating panel versus the full page

On every page except a chat page, the Jason button bottom-right (or ⌘J, Ctrl+J elsewhere) opens a panel docked to the corner. It is a real chat, scoped to the page you are on: a pipeline page seeds a new conversation with that pipeline as context, a dataset page with that dataset.

  Floating panel Full page
Opens from Jason button, ⌘J, Send to Jason on Home, Add dashboard on a pipeline’s Analytics tab Conversations, the panel’s Open full page, links in notifications
Context Seeded from the current page; change it with the control beside the Jason title Chosen in the rail; the workspace by default
Sending while Jason works Allowed Allowed; see steering a running turn
Attachments Yes (icon-only Attach) Yes
Details rail, timers, attachments list No Yes
Size Docked panel with a compact composer, or click the header to expand to a large window with the full composer Whole page

The header reads Jason, with the chat’s title under it once the chat has one. Right after the title sits the context control: an icon for what the chat is working on and a small arrow. Its tooltip reads Working on Price and promotion tracking · change; click it for Change conversation context, where you search pipelines and datasets or pick Workspace (No specific item). The context is locked while Jason works. The header buttons are New conversation, Conversation history, Open full page and Close. Click anywhere else on the header to switch between the docked panel and the large window; Escape or a click outside docks it again.

The panel’s empty state suggests starters for the page you are on, such as Add a field… on a pipeline page or Check data quality… on a dataset page. Clicking one fills the composer; nothing is sent until you press send. The panel remembers whether it was open and how big across reloads; a chat left idle for half an hour is replaced with a fresh one next time.

What a turn is

Each message you send is a turn. Jason reads the message, the attachments, the workspace memory and the chat so far, then works: reading pipelines and runs, fetching pages, testing a change, asking you something. A turn ends with a reply. The reply’s last line reads Took 4m 12s.

Only one turn runs at a time in a chat. If Jason is busy when a scheduled follow-up is due, it waits. If your workspace has several chats working at once, a new turn may show Jason is queued with the note Waiting for an available slot. Jason will start automatically.

What you see in the transcript

Everything below is projected from the chat’s record, so a reload shows exactly the same thing.

Your messages

A bubble on the right with your name above it. Long messages collapse with View more. Attached files are listed underneath; click a name to view it. A message that arrived by email shows an envelope header with the subject, From and To.

Jason’s replies

Flat text on the left under a Jason label. Replies use headings, lists, tables and links. Links to pipelines, runs and datasets open in the app; external links open in a new tab.

Activity folds

While Jason works, its steps collapse into one line that reads like Fetch tesco.com (14) with a chevron and the count of steps inside. The line updates as work continues; a shimmer marks the live fold. Expand it to see every step in order. Steps are labelled in plain terms:

You see Meaning
Fetch followed by a URL and the site’s favicon Jason opened that page.
Search followed by a query A web search.
Read pipeline, Read run activity, Check run, Read run output Jason is reading what already exists.
Run pipeline, Test candidate, Resume run, Cancel run Jason started or controlled a run.
Edit pipeline, Start pipeline change, Pipeline reviewer Jason is changing a pipeline and having the change reviewed.
Query data, Sample dataset, Import dataset, Export dataset Dataset work.
Schedule pipeline, Configure auto-heal, Update pipeline cache Pipeline settings changed on your behalf.
Create timer, Edit timer, Cancel timer A scheduled follow-up was created or changed.
Read workspace memory, Update workspace memory Jason consulted or updated the shared memory.
Send email, Read email Email in or out of the workspace address.
Create integration, Save alert, Test alert, Send delivery Connections and alerts.
Create dashboard, Save dashboard query, Draw dashboard, Set dashboard page inputs, Check dashboard Jason building or changing a dashboard.
Read file, Write file, Inspect files, Run command, Test Jason working on the pipeline itself.

A violet brain icon marks a line of Jason’s reasoning. Clicking a step that has a recorded page opens it with Rendered and Raw tabs, exactly as Jason saw it.

Task completed cards

When Jason finishes something concrete, a green card headed Task completed (or the name of the dataset it points to) sits under the reply with a one-line summary and a link: View data, the pipeline, the run. A red That didn’t work card explains a failure the same way.

A green Task completed card at the end of a build chat with a summary and a View data link
The card at the end of a build. Follow the link to what Jason made.

Reports and previews

  • Pipeline reviewer cards show the independent reviewer’s verdict on a candidate version, with View report:

    Badge Meaning
    Passed The candidate was accepted.
    Failed The reviewer asked for changes, or could not return a verdict (The reviewer could not return a verdict.).
    Needs evidence The reviewer wants more test evidence before deciding.
    Timed out The review exceeded its time limit.
    Interrupted Stopped before a verdict was returned.
    No verdict The reviewer finished without a visible verdict.

    The report headlines Accepted, More evidence needed or Changes requested, lists Reviewer findings each tagged Blocking or Advisory (or The reviewer recorded no findings.), and on a pass says Activated as pipeline version 3. Pipeline advisor and Cost analyst cards use the same layout.

  • After a change passes review, a Pipeline — name · vN card embeds the step diagram, with a pop-out and View full pipeline.
  • Dataset and Dashboard previews show the thing Jason built inline, with View full … to open it.
  • Charts Jason renders appear inline.
  • Created a file cards list files Jason published, with View.
  • Sent email cards fold out to the subject, recipients and body.

Status rows

  • Jason is working · m:ss with Stop (hidden while a Goal is set; the goal card has its own). After 30 seconds it adds You can leave this page. This session will keep running. and Notify me.
  • Testing candidate while a change is being verified, with Candidate tests can take up to one hour. View live progress under Latest runs → All runs.
  • Monitoring run when the chat is waiting for a live run to finish, with progress and View run.
  • A Goal card when Jason is working towards a longer objective you set, with a status pill (In progress, Monitoring, Paused, Needs input, Usage limit reached, Goal budget reached, Complete) and Stop, Resume, Edit (then Save & continue or Cancel) and Clear goal, which asks Clear this goal? Jason will stop working toward it, and it cannot be resumed.

Banners

If Jason loses contact in the middle of a message, the chat retries on its own. While it does, an amber banner reads Reconnecting to Jason with Lost contact during that message. Retrying automatically (1 of 3). You do not need to do anything.

Amber banners explain an abnormal end:

  • Jason lost contact during that message · Automatic retries could not reconnect. Send a new message to continue.
  • Jason was stopped · That message did not run to completion. Send a new message to continue.
  • Jason could not complete that message · Send a new message to try again.

A red Your message wasn’t sent banner means the message never reached Jason; your text is still in the composer. Couldn’t reach the server means the same, with Reload. While the page itself reconnects, a note reads Reconnecting. New messages are still syncing from the session journal.

Questions Jason asks

Rather than guess, Jason pauses with a card headed Jason has a question. A card holds up to three questions, each with up to five choices.

  1. Pick a choice, or choose Write your own and type an answer (up to 2,000 characters). A question with no choices shows the text box directly.
  2. Answer every question on the card. Submit answer enables once each has an answer.
  3. Wait for the turn to continue. The button reads Answer sent and Jason carries on. Your answers stay in the transcript.

Jason will never ask you to type a password or key into a chat. A question about a login-protected site says Complete secure setup in Jsonify first and has no text box.

Chats waiting on you are marked Needs answer on the Chats page and under Needs attention on Home. If the chat started by email, the question is emailed to you and a plain reply is taken as the answer.

Stopping a turn

Stop is on the working status row, on the Goal card, and next to Jason is working… during setup. Pressing it records a stop request; the label reads Stopping until the turn ends, then the Jason was stopped banner appears. Anything Jason had already activated stays activated; anything mid-way is abandoned. Any member of the workspace can stop any chat.

Steering a running turn

On the full chat page the composer stays open while Jason works, with the placeholder Jason is working — you can add additional messages here. Send a message and it appears in the transcript at once and is folded into the running turn, so you get one coherent reply rather than two. If the turn finishes first, the new message runs straight after.

Actually skip Ocado for now, just Tesco and Sainsbury’s.

The floating panel works the same way: its composer stays open while Jason works, so you can steer from any page.

The right-hand rail

The Chat details rail is a column of icons that expands on hover; pin it open with the button at the top. Each icon carries a count.

Entry What it holds
Context Working on: the workspace, a pipeline or a dataset. Click to change; only between turns. The context scopes the next message.
Timers Follow-ups Jason has scheduled in this chat. See below.
Chats, Memory, Files, Pipelines, Datasets, Runs, Dashboards, Sources, Downloads, Integrations, Alerts, Shared links, Other One list per kind of thing the chat has touched, each searchable and linked. A run entry shows its row count and age.
Attachments Every file sent in the chat, with a viewer.

The Conversation block at the top holds the editable title (click to rename), how the chat started (Started by email, Started by timer, Started during onboarding, Started through a connected assistant, Started in Slack, Started via CLI, Started by Jason from another chat, Automatic pipeline repair, Started by Jsonify) and the live status. Archive chat is at the bottom.

Timers and scheduled follow-ups

Ask Jason to come back later and it creates a timer.

Check again tomorrow at 9am and tell me whether the failed run has been repaired.

Every Monday at 08:00 Europe/London, summarise the price changes from last week in this chat.

Timers appear under Timers in the rail, in Scheduled on Home (tagged Jason task), and as an amber clock on the chat’s row on the Chats page. A chat holds up to 20. Each card shows the title, the next wake time in your local time, the time zone, a repeat summary such as Every day at 09:00 · Europe/Lisbon, and a countdown.

You cannot create a timer from the rail, but you can change the ones Jason made. The row menu offers:

Action What it does
Edit Opens Edit timer: Title (100 characters), Instruction (2,000 characters), and the schedule (Once with a date and time, or hourly, daily or weekly with a time zone). Save timer applies it.
Cancel timer Stops a scheduled timer but keeps the card. Cancelled timers can be Edit and rescheduled.
Delete Removes the card.

When a timer fires, its instruction is sent into the same chat as an ordinary message. If Jason is busy in that chat the timer waits until it is idle.

Notify me when done

After a turn has run for 30 seconds the status row offers Notify me. One click subscribes this browser to a push notification for the end of this turn (your browser asks permission the first time). If push is not available, or you want another channel, Notify me by lists Browser push and every live notification integration in the workspace: a Slack channel, an email address, a webhook. Once set, the row reads You’ll be notified by … with an edit link and a None option.

This is per turn. The bell on a run page (Notify me when this finishes) is the equivalent for a pipeline run; see Alert history and notifications.

Archiving

Archive chat in the rail, Archive in a row menu, Archive conversation in the floating panel’s history, or the bulk Archive on the Chats page. Archiving stops any running turn, cancels pending timers, and makes the chat read-only: This chat is archived and read-only. replaces the composer, and the rail’s status reads Archived. Archived chats stay readable under the Archived filter. There is no delete.

To bring a chat back, press Unarchive on the archived banner, or Unarchive in its row menu under Archived. The toast reads Chat unarchived, and the chat returns to Recent with its composer. Timers that archiving cancelled stay cancelled; ask Jason to set them again.

An archived chat with the banner This chat is archived and read-only and the Unarchive button in place of the composer
An archived chat. Unarchive brings the composer back.

Jason by email

Every workspace has its own Jason address, shown in Settings → Content → Jason Emails → Allowlist as a mailto link. Sending a message to it starts a new chat in the workspace; replying to Jason’s answer continues that chat. The address does not change if you rename the workspace.

Subject: Weekly menu check

Hi Jason — the attached sheet has 40 more venues. Add them to the menu pipeline, keep the same columns, and let me know once the first run with them has finished.

Rules that keep this safe:

  • Only current members of the organisation can start or continue a chat by email, and the message must be genuinely from their domain. Anything else is ignored silently.
  • Message limits: 5 MiB in total, a 60 KB body, 10 attachments of up to 3 MiB each.
  • Jason replies to organisation members freely. To let it email anyone else, add their address or exact domain to the Outbound email allowlist in the same settings tab (up to 100 entries). Subdomains are not included.
  • Questions Jason asks in an email-started chat are emailed to you; a plain reply is recorded as the answer.

In the app, an email-started chat shows an envelope on its row and Started by email in the rail. Every message Jason sends appears as a Sent email card. The same settings tab has Nightly Jason, which chooses who receives Jason’s nightly email of discoveries; it is off until you select someone. Settings are on Workspace settings.

Workspace memory

Ask Jason to remember something durable and it writes it to the shared workspace memory, which every chat in the workspace reads at the start of a turn.

Remember that we always report prices in EUR and treat “RRP” as the list price, not the selling price.

The transcript shows Update workspace memory with the reason, and a Memory entry appears in the rail linking to Settings → Content → Jason Memory, where anyone in the workspace can read and edit the text. Details on Workspace settings.

What’s next

Connect your data assistant

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

Connect in Claude

  1. Open the Jsonify connector: Open on Claude.ai ↗
  2. Select Connect and sign in to Jsonify.
  3. In a chat, enable Jsonify under + → Connectors and describe the data you need.
Advanced

Team or Enterprise account? Your workspace owner enables Jsonify once for everyone from Admin settings → Connectors. Jsonify is a community connector in the directory — some admins allow those by default, some review them first.

No directory? Add it by hand: Settings → Connectors → + Add custom connector, name it Jsonify, paste the server URL below, then Connect.

Server URLhttps://factory.jsonify.com/mcp

Official Claude custom-connector guide ↗

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