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: every block in the palette, what it 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, ask a person | 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 |
Finding a block in the palette
The palette is the Toolbar tab of the side panel. It has a Triggers section on top and a Blocks section below it; drag the line between them to give one more room.
| What you want | How |
|---|---|
| Browse by category | The Blocks section is grouped into AI, Logic, Data, Arketic, Integrations and Notes. Each heading shows how many blocks it holds; click it to collapse or expand the group |
| Open a service | Under Integrations each service is one card with its number of blocks. Click the card to see that service's blocks |
| Go back from a service | Click the row with the back arrow and the service name at the top of the list (Back to all blocks) |
| Search | Click the magnifier in the Toolbar header and type. The search looks at block names and descriptions and shows the matches as one flat list — triggers and blocks, without the service cards. When nothing matches you see "No triggers" or "No blocks" |
| Add a block | Drag it onto the canvas, click it, or right-click it and choose Add to canvas |
:::note Blocks you may not see Shared Folder and Shared Folder Trigger appear only when your organization has a shared folder set up and your role allows you to use it. See Shared Folder. :::
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. Two blocks can't share a name, and the words loop, parallel, variable, input and form can't be used as a block name |
| 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 |
<loop.index>, <loop.currentItem> | Inside a loop: the number of the current pass and, in a For Each, the current item |
<form.submitter.name> | In a form run: the person who sent the form (also .id and .email) |
In the block-name part, upper and lower case and spaces don't matter: a block called Arketic Parse File is read as <arketicparsefile.data>.
You rarely have to type a reference by hand — type @ in a field to pick one, or drag a field in from the Upstream view. Variables explains both, along with the functions a reference can call.
Passing files between steps
Some blocks hand a file to the next step instead of text:
| Produces a file | Accepts a file from an earlier step |
|---|---|
| Shared Folder (Read file), Arketic Parse File (for files it can't read as text) | Arketic Parse File, Arketic OCR, Arketic Save to Documents, Shared Folder (Write file), SMTP (Send With Attachments) |
A run's files are temporary: they are deleted when the run ends. To keep one, save it with Arketic Save to Documents or write it to the shared folder.
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 (under additional fields) — 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 another system start the workflow by calling its address | API endpoint — the address, a token and the trigger's status (see below) — and a required Input schema | body, headers, query |
| Webhook | Receives webhooks from any service or API | Webhook endpoint — the URL and signing secret (created for you), and an Active / Paused status with Pause and Resume | body, headers, path, receivedAt, clientIp |
| Error Trigger | Starts this workflow when another workflow that names it as its error workflow fails | Nothing on the block. In the other workflow, open Workflow settings and choose this one under Error workflow | workflow, execution, error |
| Chat Trigger | Chat entry point — starts the workflow from a conversation | System prompt, Include chat history (on by default) | message, history |
| Form Trigger | Starts the workflow when a person fills in and sends a form | Form title, Description, Fields, Submit button text, Message after submitting, and the form's Link | One output per form field, plus submittedAt and formId |
| Telegram Trigger | Starts the workflow when your Telegram bot receives a message | A Bot token connection. Connection shows the live status | message, sender, updateId, updateType |
| WhatsApp Trigger | Starts the workflow when your WhatsApp Business number receives a message | Your Meta app's Meta App ID and Meta App Secret (the secret is stored 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, reaction |
| Gmail Trigger | Starts the workflow when new email arrives in a connected Gmail inbox | Google Account, Include email body (off by default), Filter (optional) | message, sender, to, raw, provider |
| Outlook Trigger | Starts the workflow when new email arrives in a connected Outlook / Microsoft 365 inbox | Microsoft Account, Include email body (off by default), Filter (optional) | message, sender, to, raw, provider |
| IMAP Trigger | Starts the workflow when new email arrives in a mailbox on an IMAP server | IMAP server, Port (993 (TLS) or 143 (STARTTLS)), Folder, a Mailbox account connection (user name and password), Include email body (off by default) | message, sender, to, raw, provider |
| Shared Folder Trigger | Starts a run for each file that arrives in one folder of your organization's shared folder | Folder, Name filter (for example *.pdf), Start a run for — New files or New or changed files | file (with name, path, size, modifiedAt, extension), folder, kind |
A workflow can also be started on a recurring schedule — that's set up on the Schedules tab rather than with a block.
API Trigger
Opening an API Trigger block creates its address. The API endpoint panel shows:
| Part | What it is for |
|---|---|
| The address | Where the other system sends its call. Copy it with the button next to it |
| The token | Every call must carry it. It is shown once, right after it is made: "Copy this token now — it will not be shown again." If you lose it, use New token and confirm — the old token stops working at once |
| Accepting calls / Paused | Whether calls start runs. Switch with Pause and Resume |
| Recent calls | The latest runs this trigger started, with their status |
Two rules to know before you rely on it:
- The Input schema is required. The body of every call is checked against it, and the workflow can't be published without a valid one.
- Each call runs the published version of the workflow, as the person who published it and with their connected accounts.
Forms, approvals and the shared folder
These blocks have their own pages:
| Blocks | Page |
|---|---|
| Form Trigger, Form Page | Forms — building the form, who can fill it in, using the answers |
| Approval | Approvals — asking people to approve or to fill in a form, and what the approver sees |
| Shared Folder, Shared Folder Trigger | Shared Folder — reading and writing files on your organization's server |
:::info Instant triggers vs. checked periodically Gmail Trigger, Outlook Trigger, IMAP Trigger and Shared Folder Trigger don't react the instant something arrives — the inbox or folder 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. It works only with an assistant that is allowed to start workflows, and only for workflows you are allowed to run. The System prompt you write on the trigger does nothing on its own: pass it into an AI block to use it. :::
:::caution Treat incoming data as untrusted
Data that arrives through a Webhook, API Trigger, Telegram Trigger, WhatsApp Trigger, Slack Trigger, an email trigger or a form that is open to everyone comes from outside your organization. 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 starts on Arketic AI — that option needs no setup at all. To use an external provider's model, first pick a connection for that provider in Provider credential; its models then appear in the Model list. 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 step that writes, classifies, summarises or extracts, and can return structured output. The workhorse of most workflows | The prompt — either Messages, or a System prompt plus a User prompt (see below) — Model, Provider credential, and under additional fields Temperature (0–1, default 0.7), Max output tokens (default 2048) and Response format (JSON Schema) | content, model, tokens, toolCalls, iterations, reasoning, executionTime, memoryStatus, memoryError. With a response format: structuredResponse — read a field as <agent.structuredResponse.FIELD> |
| Router | Picks one path out of several, using AI to read the situation | Model, Provider credential, Routing prompt, Routes | selectedRoute, selectedPath, content, model, tokens |
| Evaluator | Scores something against a rubric — useful as a quality check before you act on a result | Model, Provider credential, Rubric (one rule per line), Target field (for example <agent.content>) | quality — a score from 0 to 10 — plus content, model, executionTime, tokens |
| Knowledge | Searches your organization's knowledge base for the passages most relevant to a question | Query, Top K results (how many to bring back, 1–50, default 5), Scope — Organization-wide or Department only | results, query, total, scope |
An Agent keeps its prompt in one of two forms and shows only the one it uses: Messages — a list of System, User and Assistant turns — or a System prompt with a User prompt. A new Agent block starts with Messages.
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 Agent or an Arketic Assistant block through that block'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 block "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. Source shows the crawl status and has Re-crawl now |
| Document | Uploads documents into a knowledge base that belongs only to this workflow | Documents — use Upload document to add a PDF, Word (.doc/.docx), Markdown or plain-text file |
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 a Knowledge port. This is separate from your organization's Knowledge Base: what you add here is private to this one workflow.
Media and speech
These blocks use an outside provider and need a Credential. The Arketic category has versions of speech and image blocks that need none — see Arketic Blocks.
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Image Generator | Turns a written description into an image | Credential, Provider (OpenAI DALL-E 3 or GPT Image 1), Prompt, Size, Count (1–4) | images, imageUrl, imageBase64, revisedPrompt, model |
| Video Generator | Turns a written description into a video. Runs in the background and can take a while | Credential, Provider (Runway, Google Veo, Luma, MiniMax or Fal.ai), Prompt, and under additional fields Model, Duration (seconds), Aspect ratio, Resolution, Prompt optimizer | videoUrl, jobId, duration, tokens |
| Vision | Looks at an image and describes or answers questions about it | Credential, Model (OpenAI GPT-4o (multimodal) or Claude Sonnet 4.6), Image URL, Prompt | content, provider, model, finishReason, tokens |
| Speech to Text | Transcribes an audio file into text | Credential, Audio URL, Language (Auto-detect, Türkçe or English) | text, language, duration, segments, words |
| Text to Speech | Reads text aloud as an audio file | Credential, Text, Voice (Alloy, Echo or Nova), Speed | audioBase64, contentType, byteLength, voice |
| ElevenLabs | Text-to-speech with ElevenLabs' AI voices | Credential, Text, Voice ID, Model | audioBase64, contentType, byteLength, voiceId, modelId |
Search and document AI
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Serper | Google search — web, news, places or images — via Serper | Credential, Query, Search Type, Results | searchResults, searchType, raw |
| Perplexity Chat | Search-augmented chat: an answer written from live web results | Credential, Model (Sonar, Sonar Pro, Sonar Deep Research or Sonar Reasoning Pro), Prompt | content, model, tokens, finishReason |
| Perplexity Search | Ranked web search results from the Perplexity index | Credential, Query, and filters under additional fields | results, tokens |
| Linkup | Web search that comes back with sourced answers | Credential, 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 | Credential, plus one of Hosted File URL, Upload URL or File (base64), and a Result Type (Markdown, Text or JSON) | content, pages, pagesProcessed, model, resultType |
| HuggingFace | Chat completion through the HuggingFace Inference Router | Credential, Provider, Model, Prompt | provider, model, content, tokens, finishReason |
Logic Blocks
Logic blocks don't produce content — they decide where the run goes next, how many times something happens, and when a person has to answer before it goes on.
| 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 | Conditions — the expression for each branch | conditionResult, selectedOption. 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), Code, Timeout (ms) (default 5000, up to 300,000 — five minutes). Incoming data is available as variables; whatever you return becomes the output. Need an extra code library (for example, to read a certain file format or control a web browser)? See Packages | result — whatever your code returns — and stdout, anything it logged |
| Wait | Pauses the run for a set amount of time | Duration (ms) (0–3,600,000 — up to one hour) | waitedMs, waitStatus. The run simply continues afterwards |
| Form Page | The next page of a form: the run waits until the person filling in the form sends this page. Only works after a Form Trigger | Page title, Description, Fields, Submit button text | One output per field, plus submittedAt. See Forms |
| Approval | Asks people in your organization to approve or reject, or to fill in a form. The run waits for their answer and continues down the Approved or Rejected branch | Request, Details, Approvers, Decision (One approver is enough or Everyone must approve), Approvers can reject (on by default; switched off, the block becomes a form sent to someone, with a single Sent branch), Fields to fill in, Time to answer (hours) (20–167, default 72 — after that the run is cancelled) | approved, decision, reason, decidedAt, decidedBy, fields, responses. See Approvals |
| For Loop | Repeats the steps inside it a fixed number of times | Iterations (1–1000) | results |
| While Loop | Repeats while a condition stays true | Condition, Max iterations (safety cap) (default 100) | results |
| For Each | Repeats the steps inside it once for every item in a list | Items, Max iterations (safety cap) (default 1000) | results |
| Do-While Loop | Runs the steps inside it once, then keeps repeating while a condition holds | Condition, Max iterations (safety cap) (default 100) | results. Always runs at least once |
| Parallel | Runs several branches at the same time and collects the results | Mode — Count (N branches) or Collection (per item) — Max concurrency (1–20, default 5), and under additional fields the collection and Fail fast | results, terminalResults |
Inside a loop, the steps read the current pass with <loop.index> and — in a For Each — the current item with <loop.currentItem>. Inside a Parallel block in Collection mode the same values are <parallel.index> and <parallel.currentItem>. These are not outputs of the loop block itself: after the loop, its only output is results.
:::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 (safety cap) setting is the limit. For Each has the same setting; there 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, and under additional fields Query Parameters, Headers, Body, Timeout (ms) | status, data, headers |
| Response | The exit point — returns a result to whoever called the workflow (an API or chat trigger) | Response data mode (Builder or JSON (raw)), the Fields or Body (JSON), 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 (write only) | value |
| Shared Folder | Works with the files in your organization's shared folder | Operation — List files, Get info, Read file, Write file, Move or rename, Copy, Delete or Create folder — and the Path (or From and To) it applies to | Depends on the operation — for example items for a listing, file for a file that was read. See Shared Folder |
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 | What it gives you |
|---|---|---|---|
| Table — Insert Row | Adds a new row | Table, Row data as { columnName: value } | row |
| Table — Query Rows | Finds the rows that match a filter | Table, and under additional fields Filter, Sort, Limit (1–1000, default 100), Offset | rows, total |
| Table — Get Row | Fetches one specific row | Table, Row ID | row |
| Table — Update Row | Changes an existing row | Table, Row ID, Row data | row |
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.
Assistants and AI
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Arketic Assistant | Runs one of your saved assistants as a step — with its own instructions, model, tools and knowledge | Assistant (the list shows the assistants you can use), Task, Knowledge base (Assistant's own documents, This workflow's uploads or Both), Answer language (Türkçe, English or The assistant's own rule). In a workflow shows which of the assistant's tools can run here | content, structuredResponse, sources, assistantName, model, tokens, toolCalls |
| Arketic LLM Chat | Asks Arketic's own AI a question directly, without setting up an agent | System prompt, User prompt, Temperature | content, model, tokens, finishReason |
:::info The Arketic Assistant block runs as the person running the workflow The block uses the access of whoever runs the workflow, not yours. If the assistant is restricted and that person can't use it, this step fails for them. :::
Search and knowledge
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Arketic KB Search | Finds the knowledge-base passages that best answer a question, by meaning rather than exact wording | Query, Top K results (1–50, default 5), optional re-ordering of the results | results, query, total, scope |
| Arketic Document Search | Searches the text of your organization's documents for a phrase | Search query, Limit (1–100, default 10) | documents, total, query |
| Arketic Web Search | Searches the web through Arketic | Query, Language, Category (General, News, Science or Images), Limit (1–10, default 5) | results, query, total |
| Arketic Rerank | Takes a list of results and puts the most relevant ones first | Query, Documents, Top K | results, query, total |
| Arketic Embedding | Turns text into a numeric form that search steps can compare — useful when you're building your own matching logic | Text | embedding, dimension |
Files, speech and images
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Arketic Parse File | Reads a file and returns its content. Text, JSON, CSV, HTML and XML come back as data; other files come back as a file for a later step | Operation — Parse from URL, Parse base64 or Parse a file from an earlier step — and the matching File URL, File (base64) or File. Under additional fields: File Name, Content Type, Text encoding | data — with filename, contentType, format, size, content and, for a PDF from an earlier step, text |
| Arketic OCR | Pulls the text out of an image | File from an earlier step, or Image URL — one of the two is enough | text, metadata, pagesProcessed, truncated |
| Arketic Save to Documents | Saves one of the run's temporary files into your documents, so it is kept after the run ends | File, Save as (optional) | documentId, savedName, savedSize |
| Arketic Text to Speech | Reads text aloud as an audio file | Text, Language (Türkçe or English) | audioBase64, contentType, byteLength |
| Arketic Speech to Text | Transcribes audio into text. Send WAV, FLAC or OGG — WebM can't be read | Audio URL or Audio (base64), Language (Auto-detect, Türkçe or English) | text, language, duration |
| Arketic Image | Makes a new image, or changes an existing one | Operation — Generate (text to image) or Edit (image to image) — Prompt, and for an edit Source image ID (edit) or Source image URL (edit) and Strength (edit). Also Negative prompt, Size, Seed, Steps | imageUrl, imageId, size, seed, warning |
Tasks, notifications and processes
| Block | What it does | Key settings | What it gives you |
|---|---|---|---|
| Arketic Task Create | Creates a task | Operation (Create Task), Title, and under additional fields Description, Status, Priority, Department ID, Deadline, Parent Task ID and Tags | taskId, task |
| Arketic Task Update | Updates an existing task | Operation (Update Task), Task ID, and at least one field to change | taskId, task |
| Arketic Send Notification | Sends an in-app notification to someone in your organization | Operation (Send Notification), Recipient User ID, Type, Title, and under additional fields the Body | notificationId, notification |
| Arketic Trigger Blueprint | Starts a Blueprint — a human process — from the workflow | Blueprint ID, Inputs, Execution mode (Fire and forget or Wait for completion) | blueprintInstanceId, blueprintId, and — when it waits — finalStatus and outputs |
:::info Who the workflow can act as A workflow that isn't run by an admin acts on behalf of the person running it — its notifications can only go to that person, and its tasks are created in that person's name. Admin-run workflows can target other people. :::
Tasks and Blueprints exist only when your organization's package includes them.
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. They change when you change the Operation |
In the palette, integrations are grouped into one card per service — for example Google holds Gmail, Google Sheets, Google Drive, Google Calendar and the other Google blocks, and Email holds IMAP and SMTP. Click a card to see that service's blocks.
The services that have blocks are the ones you can connect — the full list is in Connections.
:::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 a connected account, 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 |
| Start from a form someone fills in | Form Trigger, with Form Page for further pages |
| Start when an email or a file arrives | Gmail Trigger, Outlook Trigger, IMAP Trigger or Shared Folder Trigger |
| Have AI write, classify or summarise something | Agent |
| Reuse an assistant you already built | Arketic Assistant |
| Send the run down one of several paths | Condition (yes/no) or Router (many paths, AI-chosen) |
| Have a person approve before the run goes on | Approval |
| 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 AI step answer from one specific website or document | Website Scraper or Document, wired to the Knowledge port of an Agent or Arketic Assistant |
| Read the text of a file or a scan | Arketic Parse File or Arketic OCR |
| Keep a file after the run | Arketic Save to Documents |
| 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 |
| Be told when another workflow fails | Error Trigger |