Blocks
A block is one step in a workflow. Each block does a single job — start the run, ask an AI agent for an answer, check a condition, look something up in your knowledge base, write a row to a table, send a Slack message. You connect blocks with arrows, and the arrows decide the order.
This page is the reference catalogue: what each block is for, and the settings that matter when you configure it.
:::tip Start here if you're new If you haven't built a workflow yet, read Creating Workflows first — it covers the canvas, adding blocks and connecting them. Come back here when you need to know what a particular block does. :::

The Roles a Block Can Play
Every block falls into one of a few roles. Thinking in roles makes it much easier to design a flow — you almost always need one trigger, some work blocks, and a few flow blocks to hold them together.
| Role | What these blocks do | Where you find them in the palette |
|---|---|---|
| Trigger | Start a run and hand it the first piece of data | Triggers |
| Work | Do the actual job — generate, decide, search, look up, calculate, call out | AI, Data, Arketic, Integrations |
| Flow | Direct the run — branch it, repeat it, split it, hold it | Logic |
| Shaping | Change the shape, timing or storage of what moves through | Data (Response, Variables), Logic (Wait) |
| Integration | Act inside a service your team already uses | Integrations |
| Annotation | Explain the flow to teammates. Doesn't run | Notes |
The palette (the Toolbar tab in the side panel) is organised into a Triggers section and a Blocks section. The Blocks section is a collapsible accordion with these categories: AI, Logic, Data, Arketic, Integrations and Notes. Integrations collapse into one card per service, which you open to see that service's steps.
What Every Block Has
| Thing | Why it matters |
|---|---|
| A name | You rename a block in its configuration view. The name is what you use to read its result later, so keep it short and meaningful |
| Settings | The fields you fill in. Double-click a block, or use Open details in its hover tray, to open the full-screen configuration view |
| Additional fields | Less-used settings sit behind a Show additional fields toggle |
| Input and Output | The configuration view shows the data coming in on the left and the result going out on the right |
| An on/off state | You can Disable a block to switch it off without deleting it. Disabled blocks look dimmed on the canvas |
See Toolbar for the full hover tray, right-click menus and keyboard shortcuts.
How Blocks Pass Data to Each Other
A block almost never works alone — it reads something an earlier step produced. You do that with a reference typed into a field.
| Reference | What it points at |
|---|---|
<input.NAME> | A field from the data the run started with |
<blockName.field> | An earlier block's output — for example <agent.content> |
<variable.NAME> | A workflow variable you defined yourself |
Most run problems are data problems, not broken steps — usually a reference pointing at a value that isn't there. The per-step Input and Output in Logs is where you find them.
Triggers
A trigger is the entry point: it decides how a run starts and what data the run begins with. A workflow needs at least one.
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Start | The manual trigger. Add it to run the workflow on demand from the editor | Input definition — a list of fields, each with a Name and a Type | input — the data the run started with. Read a field as <input.NAME> |
| API Trigger | Lets an external request start the workflow | Require authentication (on by default), and an optional input schema | body, headers, query |
| Webhook | Receives webhooks from any service or API | The URL and signing secret (created for you), plus an Active / Paused switch | body, headers, path, receivedAt, clientIp |
| Telegram Trigger | Starts the workflow when your Telegram bot receives a message | A Telegram bot connection. The block shows its live connection status | message, sender, updateId, updateType |
| WhatsApp Trigger | Starts the workflow when your WhatsApp Business number receives a message | Your Meta app's App ID and App Secret (as a connection) — the trigger registers itself with Meta once both are set and the workflow is active | message, sender, phoneNumberId, changeType |
| Slack Trigger | Starts the workflow when your Slack app receives an event — a message, a mention, a reaction and more | A Slack Signing Secret connection. Opening the block gives you a Request URL to paste into Slack's own Event Subscriptions page | message, sender, channel, eventType, teamId, eventId |
| Gmail Trigger | Starts the workflow when new email arrives in a connected Gmail inbox | A connected Google account, an Include email body switch (off by default), and an optional search filter | message, sender, provider |
| Outlook Trigger | Starts the workflow when new email arrives in a connected Outlook / Microsoft 365 inbox | A connected Microsoft account, an Include email body switch (off by default), and an optional filter | message, sender, provider |
| Chat Trigger | Chat entry point — starts the workflow from a conversation | System prompt, Include chat history switch | message, history |
A workflow can also be started on a recurring schedule — that's set up on the Schedules tab rather than with a block.
:::info Instant triggers vs. checked periodically Unlike the other triggers on this page, Gmail Trigger and Outlook Trigger don't react the instant an email arrives — the inbox is checked about once a minute. Outlook Trigger also gets a head start from Microsoft when it can, so it sometimes reacts sooner than that. :::
:::note Starting a workflow from a chat A workflow with a Chat Trigger can be launched from a conversation with an AI assistant. The assistant first shows a confirmation card with the workflow name and its inputs — nothing runs until you approve it. This needs admin permission. :::
:::caution Treat incoming data as untrusted
Data that arrives through a Webhook, API Trigger, Telegram Trigger, WhatsApp Trigger, Slack Trigger, Gmail Trigger or Outlook Trigger comes from outside your organisation. Be careful about passing <input.…> values straight into an AI prompt without checking them first.
:::
For webhook URLs, signing secrets, and the setup steps for Slack, WhatsApp, Gmail and Outlook triggers, see Running Workflows.
AI Blocks
These are the blocks that generate, judge, look up or transform content with AI.
:::info Models and connections The Agent, Router and Evaluator blocks have a Model dropdown that defaults to Arketic AI — that option needs no setup at all. Choose an external provider's model instead and the block will ask you for a matching connection. Most of the other AI blocks reach an outside service and always need a connection. See Connections. :::
Reasoning and decision-making
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Agent | An AI agent that can use tools and return structured output. The workhorse of most workflows | Messages, Model, connection, Tools, and (behind additional fields) Temperature (0–1, default 0.7), Max output tokens (default 2048) and a Response format schema | content, model, tokens, toolCalls. If you define a response format, its fields are readable as <agent.field> |
| Router | Picks one path out of several, using AI to read the situation | Model, connection, Routing prompt, Routes | selectedRoute, rationale |
| Evaluator | Scores something against a rubric or a metric — useful as a quality check before you act on a result | Model, connection, Rubric, Target field (for example <agent.content>) | score, feedback |
| Knowledge | Searches your organisation's knowledge base for the passages most relevant to a question | Query, Top K (how many results to bring back, 1–50, default 5), Scope — Organization-wide or Department only | results, total |
Knowledge for this workflow
Website Scraper and Document work differently from every other AI block: they don't produce an output you read in a later step. Instead, you connect one to an AI Agent block through the Agent's second, dedicated connection point — a teal Knowledge port next to its regular input (hover it for the tooltip "Knowledge — connect a Website Scraper or a Document block"). That teal connection is called the Knowledge cable. It doesn't carry data — it simply tells the Agent "you may answer using this."
| Block | What it does | Key settings |
|---|---|---|
| Website Scraper | Crawls a website into a knowledge base that belongs only to this workflow | Website URL, Refresh — Daily (default), Hourly, or Manual only. The first crawl runs as soon as the workflow is active |
| Document | Uploads a document into a knowledge base that belongs only to this workflow | The file you upload — PDF, Word (.doc/.docx), Markdown or plain text |
Neither block has a regular input or output on the canvas — the only connection they accept is the Knowledge cable, dragged from the block out to an Agent's Knowledge port. This is separate from your organisation's Knowledge Base: what you add here is private to this one workflow.
Media and speech
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Image Generator | Turns a written description into an image | Connection, Provider (OpenAI DALL·E 3 or GPT Image 1), Prompt, Size, Count (1–4) | images, tokens |
| Video Generator | Turns a written description into a video. Runs in the background and can take a while | Connection, Provider (Runway, Google Veo, Luma, MiniMax or Fal.ai), Prompt, and optional Model, Duration, Aspect ratio, Resolution, Prompt optimizer | videoUrl, jobId, duration, tokens |
| Vision | Looks at an image and describes or answers questions about it | Connection, Model (OpenAI GPT-4o or Claude Sonnet 4.6), Image URL, Prompt | description, tokens |
| Speech to Text | Transcribes an audio file into text | Connection, Audio URL, Language (Auto-detect, Türkçe or English) | transcript, language |
| Text to Speech | Reads text aloud as an audio file | Connection, Text, Voice (Alloy, Echo or Nova), Speed | audioUrl, durationSeconds |
| ElevenLabs | Text-to-speech with ElevenLabs' AI voices | Connection, Text, Voice ID, Model | The generated audio |
Search and document AI
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Serper | Google search — web, news, places or images — via Serper | Connection, Query, Search Type, Results | searchResults, searchType, raw |
| Perplexity Chat | Search-augmented chat: an answer written from live web results | Connection, Model (Sonar, Sonar Pro, Sonar Deep Research or Sonar Reasoning Pro), Prompt | content, model, tokens, citations |
| Perplexity Search | Ranked web search results from the Perplexity index | Connection, Query and filters | results, tokens |
| Linkup | Web search that comes back with sourced answers | Connection, Query, Depth (Standard or Deep), Output Type (Sourced Answer or Search Results) | data, query, depth, outputType |
| Mistral Parse | Reads a document and turns it into usable text | Connection, plus one of Hosted File URL, Upload URL or a File, and a Result Type (Markdown, Text or JSON) | content, pages, pagesProcessed, model |
| HuggingFace | Chat completion through the HuggingFace Inference Router | Connection, Provider, Model, Prompt | provider, model, content, tokens, finishReason |
Logic Blocks
Logic blocks don't produce content — they decide where the run goes next and how many times something happens.
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Condition | Branches the run on a true/false check, with if, else-if and else paths | The expression for each branch | The chosen branch continues; the others stop |
| Function | Runs a small piece of your own code when no block does exactly what you need | Language (JavaScript or Python), Code, Timeout. Incoming data is available as variables; whatever you return becomes the output | Whatever your code returns |
| Wait | Pauses the run for a set amount of time | Duration in milliseconds (0–3,600,000 — up to one hour) | Nothing; the run simply continues afterwards |
| For Loop | Repeats the steps inside it a fixed number of times | Iterations (1–1000) | index, results |
| While Loop | Repeats while a condition stays true | Condition, Max iterations (a safety cap) | Keeps going until the condition is false or the cap is reached |
| For Each | Repeats the steps inside it once for every item in a list | Items, Max iterations | item, index, results |
| Do-While Loop | Runs the body once, then keeps repeating while a condition holds | A condition, checked after each pass | Always runs at least once |
| Parallel | Runs several branches at the same time and collects the results | Mode — Count (N branches) or Collection (one per item) — plus Max concurrency (1–20) and Fail fast | results, errors |
:::caution Always cap your loops While Loop and Do-While Loop rely on a condition, and a condition that never turns false would keep the run going indefinitely — their Max iterations setting is the safety cap. For Each has a Max iterations setting too; here it guards against an unexpectedly large list. :::
Data Blocks
Data blocks move information in and out of the workflow, and hold on to it between steps.
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| API | Sends a request to an external service | Method (GET, POST, PUT, PATCH, DELETE), URL, optional Authentication connection, Query params, Headers, Body, Timeout | status, body, headers |
| Response | The exit point — returns a result to whoever called the workflow (an API or chat trigger) | Response data mode (Builder or raw JSON), the fields or body, an HTTP status and Headers | Ends that path of the run and hands the result back |
| Variables | Reads or writes a workflow variable, so a value can survive between steps | Operation (Read or Write), Variable name, Value | The value you read, or the value you stored |
Table blocks
These read and write your own tables — the structured data your workflows keep between runs. In each of them you pick the table from a Table dropdown rather than typing an id.
| Block | What it does | Key settings |
|---|---|---|
| Table — Insert Row | Adds a new row | Table, Row data as { columnName: value } |
| Table — Query Rows | Finds the rows that match a filter | Table, Filter, Sort, Limit (1–1000, default 100), Offset |
| Table — Get Row | Fetches one specific row | Table, Row ID |
| Table — Update Row | Changes an existing row | Table, Row ID, Row data |
Values must match the column's type, and the search is an exact filter rather than a meaning-based one. See Tables for creating tables, column types and the full filter options.
Workflow variables are created and edited in the Variables panel, opened from the panel header or by right-clicking the canvas. The Variables block is how a running workflow reads and writes them.
Arketic Blocks
These act on things that already live inside Arketic. They need no connection setup — they just work.
| Block | What it does | Key settings |
|---|---|---|
| Arketic LLM Chat | Asks Arketic's own AI a question directly, without setting up an agent | System prompt, user prompt, temperature |
| Arketic KB Search | Finds the knowledge-base passages that best answer a question, by meaning rather than exact wording | Query, Top K, optional re-ordering of the results |
| Arketic Document Search | Searches the text of your organisation's documents for a phrase | Query, Limit |
| Arketic Web Search | Searches the web through Arketic | Query, Language, Category (General, News, Science or Images), Limit |
| Arketic OCR | Pulls the text out of an image | Image URL |
| Arketic Rerank | Takes a list of results and puts the most relevant ones first | Query, Documents, Top K |
| Arketic Embedding | Turns text into a numeric form that search steps can compare — useful when you're building your own matching logic | The text to convert |
| Arketic Trigger Blueprint | Starts a Blueprint — a human process — from the workflow | Blueprint ID, Inputs, Execution mode (Fire and forget or Wait for completion) |
| Arketic Send Notification | Sends an in-app notification to someone in your organisation | Who to notify, and what the notification says |
| Arketic Task Create | Creates a task | Title, plus optional Description, Status, Priority, Department, Deadline, Parent and Tags |
| Arketic Task Update | Updates an existing task | Task ID and at least one field to change |
:::info Who the workflow can act as For notifications and tasks, a workflow that isn't run by an admin acts on behalf of the person running it — notifications go to that person, and new tasks are assigned to them. Admin-run workflows can target other people. :::
Related pages: Knowledge Base, Documents, Tasks, Blueprints.
Integration Blocks
Integration blocks act inside services your team already uses — sending a Slack message, creating a GitHub issue, adding a row to a Google Sheet, filing a Linear ticket, and many more.
They all follow the same shape:
| Field | What it's for |
|---|---|
| Operation | Which action to perform in that service. For Slack, for example: Send Message, Read Messages, List Channels, Add Reaction, Get Channel Info, Get User |
| Authentication | The stored connection the block signs in with |
| Per-operation fields | Whatever that particular action needs — a channel, a recipient, a document, a body |
In the palette, integrations are grouped into one card per service. Click a card to see that service's steps.
:::tip Connect the account first Pick the connection in the block's Authentication field. If nothing is there yet, add it on the Connections tab — sign in for services that use OAuth, or paste a key for services that use one. A run that hits a missing or rejected connection pauses and tells you which service it's waiting on. :::
Notes
| Block | What it does |
|---|---|
| Note | Adds a written annotation directly onto the canvas |
Notes are for the humans reading your workflow. They accept Markdown formatting, and a pasted YouTube, Vimeo or Spotify link turns into an embedded player. A note has no settings to run, no inputs and no outputs — it never takes part in a run.
Use notes to explain the parts of a flow that aren't obvious: why a condition is written the way it is, what an external service expects, or who to ask when a step starts failing.
Choosing the Right Block
| You want to… | Use |
|---|---|
| Run the workflow yourself while building it | Start |
| Let another system kick it off | Webhook or API Trigger |
| Have AI write, classify or summarise something | Agent |
| Send the run down one of several paths | Condition (yes/no) or Router (many paths, AI-chosen) |
| Do something once per item in a list | For Each, or Parallel in Collection mode to do them at the same time |
| Answer from your own company knowledge | Knowledge or Arketic KB Search |
| Let an Agent answer from one specific website or document | Website Scraper or Document, wired to the Agent's Knowledge port |
| Keep a value for later in the run | Variables |
| Store something that outlives the run | A Table block |
| Give a result back to the caller | Response |
| Check the quality of an AI result before acting on it | Evaluator |