Chat Tab

The Chat tab provides a direct LLM chat interface.

The Chat tab provides a direct LLM chat interface. Use it to test models, ask questions, run existing workflows, or create a new workflow from a natural-language request.

Setup

  1. Select a credential (API key for OpenAI, Google, etc.)
  2. Choose a model from the dropdown (models are loaded from the selected credential)
  3. Start typing to send messages

You can also start a conversation from the chat box on the Workflows tab. It sends your first message and opens the new conversation here with the answer already streaming.

Features

  • Global variables context – Your Global Variables are available to the LLM, so you can ask about or reference stored values
  • Workspace template context – Shared workflow and node templates in your workspace are included as context, so Chat can answer questions about available templates
  • Long-running agent – Chat keeps working on the backend even if the browser closes, so you can come back from another device and continue the same conversation
  • Workflow creation – Ask Chat to create or change a workflow, and it saves the workflow, test-runs it with sample inputs, fixes what failed, and finishes when a run passes. See Creating Workflows
  • Kanban boards – Ask naturally to add, assign, move, update or comment on a task, list your overdue tasks or what waits for a review, or create and arrange boards and columns. When you have multiple boards and do not name one, Chat presents a board picker before creating a card. See Board › From Chat and MCP
  • Queued follow-ups – Send more messages while an answer is streaming. Queued messages are persisted, can be edited or deleted before they start, and run in order after the active response
  • Send now – Click Send now beside a queued message to stop the active reply and send that message immediately. The partial reply stays in the conversation, followed by your message and the new answer. The message keeps its files and chosen model; the other queued messages remain and resume in order afterward
  • Changing direction – After Send now, your latest message controls the task. A cancelled question stays as context and is not another pending job. Interrupted requests appear as cancelled in Traces and run history, including ones stopped before the model answers
  • Planning pauses – When Chat needs planning details, it asks clarification questions and pauses queued follow-ups until you answer. After the planning answer finishes, queued messages resume
  • Credentials – When a workflow Chat creates or edits needs a credential, Chat asks which one to use, offers to create a new one in the conversation, or lets you continue without. You can also ask Chat to create a credential or to update one you own; it opens the credential form in the conversation. The model sees the credential's name and type, never its values, for credentials you own and ones shared with you. LLM and Agent nodes Chat adds run on the credential and model selected for the chat, shared credentials included; when Chat edits a workflow, its existing LLM and Agent nodes keep their credential and model. See AI Assistant › Credentials
  • Dashboards – Ask which dashboards you have, what is on one, or which dashboard a workflow is on, ask Chat to create a dashboard and build its widgets (several at once, in parallel), change several widgets in one message, add a new widget to a dashboard (it puts an empty widget there, then builds and tests its workflow), put an existing workflow on a dashboard as a widget, rename or delete a widget, or tidy a dashboard's layout. Heym Work shows these dashboards as its pages. See Dashboard › From Chat and MCP
  • Data tables – When a workflow Chat creates or edits stores records, Chat asks which data table to use or offers to create one with the columns the workflow needs. It can also inspect rows, add or remove columns, and insert, update or delete rows directly on tables you own or can write. Give it a table name or DataTable link. Column removal and clearing all rows ask for confirmation; adding columns preserves existing data. See AI Assistant › Data tables
  • Streaming responses – See the model's output as it streams. While the model writes a step, the turn says what it is preparing; while it writes a workflow, it names the workflow and the nodes written so far, for example Writing "Lead intake" · 3 nodes (start, Qualify, Save lead)
  • Live step progress – A step that runs a workflow shows the node that is running under its row, such as Running node Qualify, until the step finishes
  • Stop response – Interrupt the current streaming answer at any time; stopping also clears queued messages for that conversation
  • Markdown rendering – Responses support markdown formatting, including inline images
  • Image display – Images embedded in responses (e.g. from LLM image generation) appear inline; click any image to view it fullscreen. Press Esc or the back button (mobile) to close the fullscreen view
  • Copy messages – Copy any message to the clipboard
  • Edit and resend – Hover one of your messages and click the pencil next to Copy to edit it in place. Save and send (or Enter) removes that message and every message after it, then sends the edited text with the model selected above, so the conversation continues as if the later turns never happened. Context chips and the attached files stay with the message. Press Esc or Cancel to keep the conversation as it is. Editing waits until a running reply finishes or is stopped. Anything the removed turns already did, such as a saved workflow, stays as it is
  • Clear chat – Start a new conversation
  • Voice input – Use the microphone button for speech-to-text (browser-supported). When recording stops, Heym can lightly clean up the transcript before you send it
  • Scheduled workflows – Ask when cron workflows run (today, this week, this month, or a custom date range). The assistant uses the same schedule data as the Scheduled tab and can limit results to workflows you own or include those shared with you
  • Workflow run history – Ask about one workflow ("how many times did the daily report run?", "did it fail?", "when did it last run?"). Chat looks the workflow up by its ID and answers from its run count, status breakdown, first and last run time, and average duration. Ask why a run failed or what it returned and Chat then opens that single run to read its inputs, outputs, and per-node errors
  • Where runs fail and why they are slow – Ask where your workflows fail or why they are slow and Chat names the workflows that ran most, failed most and are slowest, and the node types that take the most time (average per call and total), fail most and run most, the same numbers as the Analytics tab. Node types are counted for runs from the release that added node analytics. Ask about the last hour, 3 or 6 hours, 24 hours, 7 or 30 days, or all time; the hour windows start on the hour, so "the last hour" at 15:20 covers 14:00 until now.
  • Live run status – Ask what is running right now and Chat answers with the count, the workflow names, how long each run has been going, which node it is on, and a link straight to the live run
  • Run context chips – Ask AI in Execution History opens a new conversation with the selected workflow run attached as chips. See Asking About a Run
  • Files – Attach up to 10 files at once: PDFs, spreadsheets, DOCX, CSV or JSON files, images, or plain text files of any name. You can also name a file already in Drive. Each file is stored in your Drive and Chat opens it in an isolated sandbox: it inspects the structure first and reads only the part your question needs, so large files never fill the context. See Working with Files

Using Chat from an MCP Client

The Chat engine can also be reached from outside the browser. Turn on the Heym Agent in the MCP / A2A tab and MCP clients (Claude, Cursor, and anything else that speaks MCP) get a single heym_chat tool that runs this same engine with all of its capabilities. Tick Enable A2A as well and other agents can send it tasks over A2A; those conversations show a network icon in the list.

Those conversations land in this tab's history, marked with a plug icon in the conversation list. Open one to read what the client asked, see the tool cards it triggered, and continue the thread yourself. Answering a clarification question works the same way whether the turn started here or from an MCP client.

Over MCP, Chat asks which credential a workflow should use as a question in the result. To create or update a credential it opens Heym's credential form on a Heym page in your browser, so the value never passes through the MCP client. See MCP tab › Credentials.

Data tables work over MCP too: Chat can edit columns and rows directly, create tables and wire them into workflows. Table questions and deletion confirmations arrive as text in the result; answer with the same conversation_id.

Context Limit

The chat keeps up to 25 recent messages in context. Older messages are trimmed to stay within model limits.

Creating Workflows

When you ask Chat to create, build, generate, or set up a workflow, it saves a new workflow with a generated name and description, then tests it in the same turn:

  1. Save: Chat saves the complete workflow. The response shows a read-only canvas preview of its nodes and edges, plus an Open workflow link that opens the editor in a new browser tab.
  2. Test: Chat runs the saved workflow with realistic sample inputs and reads the run report: the status, each node's result and the outputs.
  3. Fix: When the run failed or returned the wrong thing, Chat changes only what the report shows is wrong, saves again and runs again.
  4. Finish: When the latest run of the latest save passes, Chat ends the turn with one sentence on what the workflow now does.

Each step appears as a row in the conversation: Saving the workflow, Testing the workflow · attempt 1/5, and Finishing with the result Verified. Before the save, the turn shows the workflow being written, with its name and the nodes written so far; during a test run, the step row shows the node that is running.

  • Test runs are real runs. Their side effects happen, and they appear in the workflow's run history like any other run.
  • A turn has at most five test runs. When they are used up, Chat stops and tells you what still fails and what it would change next.
  • Saves take the editor's path: a change to the graph keeps the previous graph in the workflow's Edit History.
  • When Chat needs something from you, such as a credential, a data table or a decision, it asks and pauses. The turn continues after you answer.

Follow-up feedback in the same chat changes that workflow instead of creating another one. For example, after Chat creates a workflow you can say "add an approval step" or "change the output format", and Chat saves, tests and fixes it again. Chat can also change an existing workflow you name, as long as you can edit it.

This is best for requests where you want the work done as a reusable automation, not just a one-off answer.

Working with Files

Drop files on the composer, paste them (a screenshot, or files copied from your file manager), or pick several with the paperclip. One message carries up to 10 files, and each one shows as a chip while it uploads; remove one with its ×.

Documents (PDF, XLSX, XLS, CSV, TSV, DOCX, JSON, TXT, MD), images (PNG, JPG, GIF, WebP) and plain text files of any name go to your Drive with the source Chat, and the message carries only each file's name and id. A plain text file is anything that reads as UTF-8 text, such as notes, Makefile or todo.list. Code files (PY, TS, JS, HTML, XML, YAML, LOG) are read into the message. Chat reads an image's text with OCR in the sandbox. Skill zips are attached as before. A file that cannot be attached is listed by name, and the other files still go with the message.

Chat answers file questions with File Analysis: it calls inspect_file for the type, structure and a short sample, then run_python for the specific operation, such as "take the Total field on the Summary sheet and add the value from the last page". Results come back as tables or short extracts, and files Chat creates (xlsx, csv, json) are saved to Drive with a link.

Each conversation keeps a working folder, so follow-ups reuse what was already read and computed. It is deleted when you delete the conversation, when you ask Chat to clear it, or after 30 days without use.

When you ask Chat to build a workflow around a file, it inspects the real file first so the workflow uses the right sheet, column and page names, then tests the workflow with that file.

Managing Kanban Tasks

Ask Chat in ordinary language, for example, “Add a task called Fix login bug”, “Assign the NDA card to Ada, due Friday, high priority”, “Move it to Review”, “Comment on the NDA card that the signed copy is in Drive” or “What is overdue on the Legal board?” You can include a description in the same request. Comments are posted as you; one on a card waiting at the planning step answers its agent's questions and lets it move on. Chat creates a card in the selected board's first column unless you name a column, and it never approves a review by moving a card.

If your workspace has several boards and you do not identify one, Chat pauses with a single-choice board picker. Select a board to finish creating the card. No slash command or special message format is required.

Asking What Is Running

Ask in ordinary language — "what is running?", "how many workflows are active right now?", "which node is the nightly report on?" — and Chat reports the live picture:

  • How many executions are in progress, split into running and awaiting human review
  • Which workflows they belong to, by name
  • How long each run has been going (for example 1m 35s, 3h 25m)
  • Which node is executing right now, by its canvas label, plus the last node that finished
  • A link to each live run, which opens the canvas with that execution replaying

Runs paused for a Human-in-the-Loop or Codex review are reported as waiting for you, not as running. This is the same data as the active-runs badge in the header, so Chat and the badge never disagree. For runs that already finished, ask for recent executions instead — that reads Execution History.

Asking About a Run

Select a workflow run in Execution History, from the editor or from All History, and click Ask AI next to the dialog title. Chat opens a new conversation with two chips above the message box:

  • Workflow: the workflow's name
  • Execution: the first characters of the selected run's id

Remove a chip with its × to leave it out. Then ask your question, for example "why did this run take so long?", "what failed here?" or "can you fix it?". The remaining chips are attached to that message with the full ids, so Chat reads the run's inputs, outputs and per-node trace directly instead of searching for the workflow. To fix the workflow, Chat saves, test-runs and verifies the change as described in Creating Workflows.

The sent message shows the chips under your question. They belong to that message only; follow-up questions in the same conversation keep the context from the history.

Asking About Alerts

Chat can answer questions about the alerts you have defined:

  • What exists — "what alerts do I have?", "is there an alert on the invoice workflow?", "which alerts are firing right now?"
  • How one is set up — "what is the threshold on the cost alert?", "how is that configured?"
  • Why and when it fired — "why did the cost alert fire?", "when did this last trigger?"

For a "why did it fire" question, Chat reads the firing record and quotes the actual observed value, the threshold, and the exact window that was evaluated, plus the contributing detail: failing execution ids and error messages for error alerts, per-model spend for cost alerts, or the trigger-source breakdown for execution-count alerts. It reports what was true when the alert fired rather than recomputing the window, because the window has passed and a fresh calculation can give a different answer.

Working with Evals

Chat can create, change and run the suites in Evals, both prompt suites and agent suites:

  • Prompt suite: "make a prompt suite for my support reply prompt with 8 test cases and compare gpt-4o with gpt-4.1-mini". Chat writes the test cases with their expected answers, picks a scoring method and saves the suite.
    • Before it creates the suite, it settles which LLM credential and models to use. With exactly one LLM credential it uses that one and says so; otherwise it asks.
    • For LLM-as-Judge scoring, it also asks whether a separate judge should score the answers.
  • Agent suite: "check that my support agent always searches the docs and never sends email". Chat finds the agent and saves the tool checks and thresholds. When you ask, it runs the workflow, writing a different input for each run.
    • Agent suite runs are real workflow runs, so their side effects happen. Chat says how many runs it starts.
  • Baseline: Chat can work with an agent's baseline in three ways:
    • Report it from the agent's latest runs.
    • Build it from runs it starts ("run it 5 times and use that as the baseline").
    • Store numbers you give it ("set the baseline to 3 seconds p95 and $0.01 per run").
  • Runs: Chat waits up to a minute for a run, then reports the result:
    • For a prompt suite: each model's pass count and the cases that failed.
    • For an agent suite: the pass rate, the failed checks and the drift from the baseline.
    • A longer run keeps going in Evals; ask Chat to check it again.

After Chat creates or changes a suite, the reply shows a card with the suite's name, its type and an Open in Evals button, like the card of a saved workflow. Over MCP, the heym_chat result lists the link of every suite saved in that call.

The same works from an MCP client through heym_chat (see Using Chat from an MCP Client). The eval tools stay inside heym_chat; MCP clients do not see them as separate tools.

The editor's AI Assistant does not create suites.

User Rules

User Rules (configured in Settings) are automatically injected into every Chat conversation as system-level instructions. Set them once to apply persistent preferences to all chat requests.

They are also Chat's memory. Ask Chat to remember something, or state a lasting preference or decision, and it adds one line to your User Rules. Ask it to forget or change something and it rewrites them. Each save shows as a tool row in the conversation, and credentials are never saved. See User Rules as memory.

Tool calls and context size

Each time the assistant invokes a tool (running a workflow, listing executions, building a new workflow), a collapsible card appears in the conversation. The card auto-expands while the tool runs, showing the exact arguments. When the tool finishes, the card collapses to a one-line summary with the elapsed time. Click any card to re-expand the arguments and the response summary.

A small ring badge below the input shows the current context usage as a percentage of the model's window (e.g. 12% · ~9.2k). Hover the badge to see a breakdown: system prompt, AGENTS.md, workflows block, user rules, history, and your draft input. When usage crosses 80% the ring turns amber; at 95% it turns red.

If usage gets close to the limit, Heym automatically compresses older messages into a short summary using the same mechanism agent nodes use. A "Context compressed" card appears inline to show what happened.

OpenCode Go models

With a Custom credential that points at the OpenCode Go gateway (opencode.ai), Chat, Chat with Heym, the heym_chat MCP tool and the AI Assistant call each model on the API the gateway serves it on: GPT and Grok on Responses, Claude and MiniMax M2.7 on Anthropic Messages, Gemini on Google's generateContent, everything else on Chat Completions. Models on the first three arrive as one complete reply instead of streaming word by word, and older messages are not compressed automatically for them.