Flows UI
Flows and Sparks are independent features that share the same system-wide overlay. Sparks is for direct prompts — type a question, get an answer. Flows are pre-configured pipelines — pick one, it runs with your selected text, and delivers the result. Both are accessible from the same overlay (triggered by the global hotkey), but they serve different purposes and use different tabs.
The Flow Picker
Section titled “The Flow Picker”When you open the overlay and switch to the Flows tab, the flow picker displays your available flows organized for speed:
- Favorites pinned at the top — Flows you marked as favorites appear first, before any category grouping. If you run the same handful of flows throughout the day, favorites eliminate scrolling.
- Category groups — Below favorites, flows are grouped by category (Writing, Analysis, Generation, Code, Vision, Web, Research, and any custom categories).
- Search — Type to filter flows by title or description. Results update as you type.
- Keyboard navigation — Arrow keys move between flows, Enter executes.
Complete Workflow
Section titled “Complete Workflow”-
Select text in any application
Highlight the text you want to process — a paragraph in your editor, code in your IDE, an email, or content in your browser. The selection becomes the flow’s {{ input }}.
-
Trigger the overlay hotkey
Press your configured hotkey (default: Cmd+Shift+Space). The overlay appears. QARK captures the selected text and the source application context automatically.
-
Switch to the Flows tab
The Flows tab shows the flow picker. Your favorites appear at the top. Start typing to search if you know the flow name.
-
Pick a flow
Click or press Enter on the flow you want. Execution begins immediately — there is no confirmation step unless the flow uses a preview mode.
-
Flow executes
The flow’s content template is populated with your selected text (via {{ input }}), sent to the configured model with the flow’s system prompt, and results stream in real time.
-
Output action delivers the result
Based on the flow’s configured action:
- paste — The result inserts at the cursor position in the source application. The overlay closes.
- copy — The result goes to your clipboard. The overlay closes.
- insertBefore / insertAfter — The result appears before or after your selected text.
- openInChat — The result opens as a new conversation in QARK for further iteration.
If the flow uses preview mode, you see the result before the action fires — approve, switch to a different action, or discard.
If the flow uses diff mode, you see an inline comparison of the original text against the output before acting.
Clipboard as Input
Section titled “Clipboard as Input”When you trigger the overlay without selecting text first, the flow uses your current clipboard contents as {{ input }} instead. This is useful when:
- You copied text from an application that does not support direct selection capture
- You want to reprocess the same input through multiple flows without re-selecting
- You have text from a clipboard sync source
The flow picker indicates whether it is using selected text or clipboard contents as the input source.
Flow Conversations
Section titled “Flow Conversations”Every flow execution creates a conversation record, automatically saved to the Flows system group in your conversation list. This gives you:
- A history of every flow execution — search past results, review what changed
- Continuity — if a flow used
openInChat, the conversation continues where the flow left off - Organization — flow conversations stay in their own system group, separate from your regular conversations
Open in Chat During Streaming
Section titled “Open in Chat During Streaming”While a flow is streaming its response, an Open in main chat button (external link icon) appears in the overlay header. Click it to transfer the conversation to the main QARK window — the response continues streaming there without interruption.
This differs from the openInChat output action, which fires automatically after generation completes. The header button is a manual escape hatch you can use at any time during streaming, regardless of the flow’s configured output action.
When you click it:
- The main QARK window comes to the front and loads the conversation.
- The stream transfers seamlessly — no content is lost, no restart occurs.
- The overlay closes and resets.
For flows configured with openInChat as the output action, this handoff happens automatically once generation finishes. The conversation opens in the main window and is saved to the Flows system group.
- Pin high-frequency flows as favorites. Most daily use centers on the same flows — grammar fix, summarize, explain. Favorites put them one click away.
- Chain flows with clipboard. Run a flow with
copyaction, then immediately trigger the overlay and run a second flow on the clipboard result. Example: Summarize an article, then translate the summary. - Use diff mode for transforms. Writing flows that modify text benefit from diff preview — you see exactly what changed before accepting.
- Use none mode for research. Research flows with agent_ref open directly in chat without waiting for preview — they produce long, multi-step outputs better suited for the full chat interface.
For details on the overlay system, hotkey configuration, and the Spark side of the overlay, see Sparks.