Neuron nodes

The settings of each neuron node - START, GET, DO, MAKE and SEND - and what each one does.

Each neuron has five nodes: START, GET, DO, MAKE and SEND. Click a node on the neuron card to open its tab in the settings panel. One neuron can take several inputs in GET and send to several places in SEND, but it has one set of instructions and makes one result per run. Use more neurons when a task has more than one AI step.

START: when the neuron runs

The START tab opens with a RUNS WHEN sentence that sums up everything that starts the neuron, followed by one row per way to start it:

  • Play: runs once when you press it.
  • Schedule: runs at a set time: a countdown, an alarm or a recurring schedule. See Scheduling.
  • Other neurons: starts after another neuron. See Connections.
  • Webhook: starts from your own systems with a webhook call and a key. A duplicated workflow has its own webhook address.
  • App events: starts when something happens in a connected app. See App connections.

Click a row, or its Set up link, to open its settings. The Play row has its own Play button.

While the workflow's triggers are paused from My workflows, schedules, webhooks and app events start nothing; Play still runs. See When triggers are paused.

START: Play and Test this neuron only

Under Run now in START:

  • Play runs this neuron and every neuron connected after it.
  • Test this neuron only (shown when other neurons come after this one) runs just this neuron. Nothing is sent, nothing is saved to memory, and the neurons after it don't start.
  • Play through the queue (shown when an input has queued values) runs the neuron once for each queued value, one after another.

START: Webhook keys

The Webhook row in START (API webhook & keys on the neuron card) lets your own systems start the neuron with a web call. It opens the webhook panel, with the tabs Setup, Test and Calls.

  1. In START, open Webhook. The Setup tab shows Keys, the Request with the webhook address your systems call (Copy copies it, Copy curl a sample call), and Fill inputs from the call. Under Request there is also the neuron-to-neuron address another neuron's SEND › API uses to start this one.
  2. Under Keys, click New key, type a Key name, and optionally set Expires (optional).
  3. Click Create key.
  4. Click Copy secret (and Copy key id) and store the secret somewhere safe. It is shown only once.
  5. Click Done.

A call needs a key to start the neuron: until you create one, calls are rejected. Each key only starts this neuron. To stop a key working, click Revoke beside it. All your keys and their usage are in API keys opens the list of all your keys. Under Fill inputs from the call, pick which field of the call fills each input. Test listens for a real call or sends a test call, and Calls lists the calls the webhook received. See Webhook integration for how to make the call.

GET: add and change inputs

GET holds the neuron's inputs. Each input has a name, a type and a value.

  1. Click Add input. A new neuron already has one text input, "Text Input 1".
  2. Type a name in the name field, next to the type button.
  3. Click the type button (it shows the current type, such as Text) and pick Text, PDF, Image, Audio file, Voice recording or Table. See Data types.
  4. Choose where the value Comes from (see "GET: where a value comes from" below), then fill it in: type the text, upload a file, record audio, or pick a table.

How many inputs a neuron can have depends on how its DO works: up to 3 inputs with AI, and up to 5 inputs with Steps or Code. At the limit, Add input reads "Maximum … inputs". A neuron with more inputs than AI takes can't be switched to AI: How DO works shows how many inputs to remove first.

To remove an input, click Remove input. Changing an input's type clears its current value, so the app asks you to confirm in Change input type with Change type first.

GET: hints and Required

  • Add a hint: a short hint shown to whoever runs the neuron, such as a User running your agent.
  • Required: the run waits until this input has a value. Required inputs show REQ on the neuron card.

GET: where a value comes from

Each input has Comes from:

  • Ask when run: when you press Play, you're asked for the value before the run starts. When the neuron runs later in a flow, or from a schedule, an app event or a webhook, the run waits at this neuron and shows Waiting for you on it, in a notice with Answer, and in Runs. Answer there and the run goes on. Set Default value to prefill the question; it is used as the answer if none comes within Wait for an answer, which can be from 5 minutes to 24 hours (the default is 24 hours). With no answer and no default, the neuron stops with "No answer given" and its On error link runs. Stop run cancels a waiting run. A neuron waits for one answer at a time.
  • Set in advance: the value you type or upload here is used on every run. Add more values (a blank line between values adds several) to make a queue: each run uses the top one, and the last one stays.
  • Another neuron: the value comes from another neuron's input or result. Pick it from the list; Change picks another, the clear button removes the link. Until that neuron has run, there is nothing to preview.

People using your agent are never asked: in an agent, an input set to Ask when run uses its default value, and with no default the neuron stops with "No answer given".

GET: queue several values

A queue lines up several values for one input. Each queued value becomes its own run, one after another.

  1. On the input, keep Comes from on Set in advance.
  2. Add values: type them and click Add, Add 2 values or Add to queue (a blank line between values adds several at once), or upload several files with Upload files to queue. The queue starts when the input has a second value.
  3. Press Play through the queue in START, or Play all queued in the neuron's menu.

Click Turn off queue to go back to one value; this clears the queued values, and the tooltip tells you how many. Only one input per neuron can take a queue. An input that asks when run, or that is filled by another neuron or by the webhook, can't take a queue, because it takes one value at a time. To remove a queued value, click Remove from queue.

GET: inputs filled by another neuron or the webhook

An input whose Comes from is Another neuron takes the value of one of the neurons before it. An input that receives a linked value from a connection reads Another neuron too, and you change it in the connection's settings.

When you connect a neuron to this one, a Connection input appears, named after the parent (for example "Connection input (from Neuron 35c)"). It shows FROM CONNECTION and "Filled by the parent neuron on each run." An input the webhook fills shows FROM WEBHOOK. An input that receives a linked value from a connection shows LINKED and "Filled by a connection from" the parent. These inputs are read-only: change what they get in the connection's settings. See Connections.

GET: what Users of your agent can do with an input

When you publish the workflow as an agent, People using the agent sets what a User can do with each input:

  • Can change: the User fills it in or changes it.
  • Can see: the User sees your value but can't change it.
  • Hidden: the User doesn't see it; your value is used.

You can also set this on the Agent page of the Publish studio. See Publishing your agent.

DO: how DO works

At the top of DO, How DO works picks how the neuron does its work:

  • AI: a model follows your instructions.
  • Steps: fixed steps such as filtering rows or filling a template, with no AI.
  • Code: your own code, with no AI. See Code.

Switching keeps what you set in the other modes, so you can switch back.

DO: merge columns from another table

A Steps neuron can join two tables. Add both as table inputs in GET (the first is the one the steps work on), then add the step Merge columns from another table under Input rows. The step stays unavailable, and says why, until GET has a second table.

The form asks for:

  • Table to merge from: one of the neuron's other table inputs.
  • Match rows where: a column of the rows, = a column of the other table. The two columns can have different names. + Another key matches on several columns at once; every one has to match.
  • Columns to bring: tick the ones you want, or tick none for all of them except the other table's key columns. Under each ticked column you can type a new name for it; Prefix for the new columns is put in front of the names you don't change.
  • How to merge: Keep every row adds the columns and leaves the cells empty for rows with no match. Overwrite columns lets matching rows replace columns the rows already have; tick An empty cell there blanks the value here too if an empty cell in the other table should clear it (otherwise the value stays). Only matching rows drops the rows with no match.

How a merge decides:

  • The rows keep their order and their own columns. New columns go after them, in the order you ticked them, and every row has them.
  • The new columns take the type of the other table's columns: numbers stay numbers, dates stay dates, checkboxes stay checkboxes.
  • Keys match as their text, so 5 matches "5", and spaces around a key and accents typed in two ways don't matter. Ticking Ignore capitals and extra spaces in the keys also matches ACME with acme. A row whose key is empty never matches, on either side.
  • If the other table has several rows with the same key, the first one wins. Repeated key: last row wins changes that.
  • Without Overwrite columns, a column the rows already have is an error that says so: pick Overwrite columns, or add a prefix.

The step shows what is left after it, like the other steps, so you can check the join before you run. The other table is read in memory, so there is a cap on its size. Only the columns you use are read from it. A table over the cap (too many rows, or too big once loaded) stops the step with a message that names the table and the cap, before anything is written; filter the table down first, or bring fewer columns. A key or column that is wrong is also reported before anything is written, even when the merge comes after steps that write. When a neuron runs once for each row, the other table is read once for all the rows, so it can't be a table the same neuron writes to. A merge costs no credits.

DO: instructions

Instructions tell the AI what to do with the inputs. Brief it like a colleague: what to look at, what to produce, what to flag. You can also edit instructions right on the card (Click to edit).

Example instructions:

  • "Summarise this document in three bullet points."
  • "Pull out every email address and phone number."
  • "Translate this text into Spanish."
  • "Write a polite reply to this email."

For some pairs of input and result types, the work happens automatically and DO says DO isn't used here., so instructions are ignored. Others show Optional here: the input already passes straight through, and instructions change it. Instructions can include references to Memory. See References.

Prepare input, at the top of the Instructions box, runs optional steps before the AI sees the input, for example filtering a long table down to the rows that matter. It says how many steps run when you have set some.

Under the instructions, three checks turn green as you write: Mentions an input, Says what to make and Sets limits. NEEDED shows while the instructions are too short to be useful.

DO: web search on Auto

On Auto, a run searches the web when the instructions or the input use one of these words or phrases, as whole words: research, latest, news, current, recent, today, now, real-time, live, web search, search the web, find information, look up, what happened, stock price, weather, breaking news, update on, search for, find out, what is happening, current events, right now, this week, this month.

It also searches when a question asks for the latest or current information, or when the text names a year such as 2026 or says this year, last year, yesterday or tomorrow.

To make every run search the web, add the Web search tag: type {{ in the instructions and pick Web search under Tools, or click Add web search above the box when it offers it. The tag shows as a Web search chip; delete the chip to turn it off. When it appears as {{web-search}} (for example on the classic canvas), it works the same way.

Add web search appears just above the instructions when they use one of the words above, or ask a question about the latest information, or name a year, and the tag is not there yet. Dismiss (the x) hides it for that neuron in this browser; it comes back when the instructions gain a new such word.

A run that searches the web uses a stronger model and costs more credits than one that doesn't. Web search works only with Auto, and not while Apps are picked; the chip is grey and says why when it won't be used. It applies when the neuron makes text from text, and to decisions.

DO: the settings row

Under How DO works, a row of buttons shows DO's settings. Click one to open it; click it again or Close to put it away.

  • Model (AI only): which model follows your instructions. Auto is the default: it picks for you, and it is the only choice that can search the web: it does when the instructions or the input ask for current information, or when the instructions have the Web search tag (see DO: web search on Auto). Or pick a model by family: GPT (GPT-6 Luna, GPT-6.1 Sol, GPT-6 Astra), Gemini (Gemini 3.5 Flash-Lite, Gemini 3.8 Flash, Gemini 3.1 Pro (preview)) or Claude (Claude Haiku 5.5, Claude Sonnet 5.5, Claude Opus 5.5). Every model can use apps and understand images; none of the named models searches the web. Under the list, each ability shows as a tag, and one a model lacks is crossed out; pointing at it says why. The model changes what a run costs: smaller models use fewer credits, larger ones handle harder work. See Credits & usage to see what your runs spent.
  • Apps (AI only): the connected apps this neuron may use, and which of their actions. With an app open, Search actions… filters its actions by name or description. Max tool rounds per run sets how many rounds of app actions one run may make, up to 10 rounds. See App connections.
  • Memory: what this neuron recalls from Memory each run. Also shown for Steps and Code. See Memory.
  • Documents (AI only): whether DO may reach any table or doc in this workflow by name.

The model you pick stays with the neuron when you publish it as an agent; people using the agent don't see it.

MAKE: the kind of result

Active output sets what the neuron produces on each run, one type at a time: Text, Image, Audio, Table or Decision, and PDF on a Code neuron (see Code neurons). Which types you can pick depends on the inputs. Changing the type clears the current result, so the app asks you to confirm with Change type first.

Quick-switch on the canvas shows chosen result types on the card, so you (or Users of your agent) can switch the result type without opening the settings.

MAKE: decisions

A Decision result picks one of several paths. Use it to send different cases to different neurons.

  1. In MAKE, choose Decision.
  2. Under Decision conditions, give each condition a Condition name and a Condition description that says what it means. Click Add condition for more.
  3. Connect each condition to the neuron that should run when it is picked: each condition has its own connector on the right edge of the card. Click it, then click another neuron's receptor.

On each run the neuron picks exactly one condition, and only the neurons connected to that condition run.

MAKE: the last result

Last output in MAKE shows the latest result. Preview text, play audio, or view and download an image, a PDF or a table. On the card, View full output opens the whole result.

SEND: destinations

Destinations sets where the result goes. Pick as many as you need; each gets the same result.

  • Neuron Out: pass the result to a connected neuron. See Connections.
  • Email: under Email to, add the addresses to send the result to. Adding an address turns email on. Below the address you can write what the email says: a Subject, a Body, and how much of a text result shows in it. See The email's subject and body.
  • Telegram: under Telegram chat, click Connect Telegram, press Start in the Neuron bot, then pick the chat. Only a private chat with the bot can be connected. Each chat is connected once: connecting it again selects the one you already have.
  • API: under Endpoint URL, type the address that should receive the result. It must start with https://, http:// or /. It is saved when you leave the field, and clearing it turns API off. For an address outside Neuron, the panel also shows a Signing secret (with Reveal, Copy and Rotate), code for checking it under How to verify, and Recent deliveries, a list of what was sent and whether your server accepted it. A call that fails is tried again, so your server can receive the same result twice. See Webhook integration.
  • Document: works on a table or doc in this workflow, or creates one. See Documents.
  • Dashboard: sends the result to the feeds of a dashboard in this workflow, so the dashboard shows the latest data. Pick a dashboard and a feed, then Add. See Dashboards.

The email's subject and body

With email on, Subject and Body under Email to let you write the email yourself. Leave them empty and the email is the standard one: the subject is "Output from" followed by the name of your workflow (or of the Agent, once it is installed) and the word "Agent", for example "Output from Hiring Shortlist Screener Agent", and the body is the result.

  • Subject: plain text. It can hold references, so {{shortlist.make.output}} Candidates Shortlisted sends as "12 Candidates Shortlisted" when that neuron's result is 12. Line breaks are removed and the subject is cut at 200 characters. If a reference in it can't be filled in, the default subject is sent.
  • Body: HTML or plain text, up to 50,000 characters. Click Insert a reference or type {{ to put in a value from an earlier neuron, a variable or a memory, the same way as in a GET text input. The value is filled in when the email is sent, and shown as text, so a value can't add formatting or scripts to your email. Plain text keeps its line breaks.
  • Insert this run's result adds this neuron's own result to the body, as a reference such as {{report.make.output}} in a neuron with the ID report. Where you put it is where the result shows. A text result is shown as formatted text (headings, lists, tables); a table result is shown as a table. A file result, such as an image or a PDF, is attached as it always was and can't go in the text, so the button is off for those neurons. If that file can't be found or attached, the email isn't sent and the SEND says so.
  • Insert image (next to Insert a reference) puts a picture in the body, where your cursor is (or over the text you selected). It lists the PNG, JPEG, GIF and WebP files in this workflow's Docs; Upload adds a new one to Docs first and then inserts it. The picture is sent inside the email, not linked from a website, so it shows without the reader's mail app contacting anyone. The body holds a marker such as {{image:…}}; the name of each picture is listed under the body, with Remove. Put it in the text, not inside a tag or a link. An email can hold up to 5 images different pictures, each up to 2 MB and 8 MB in all. The list shows pictures that are too big, or that would go over these limits, greyed out with the reason, and Upload is off once the email has the most it can hold. If the body is too long to take another marker, nothing is inserted and nothing is uploaded. SVG files can't be used. If a picture was removed from Docs, or isn't from this workflow, the email isn't sent and the SEND says so: pick the picture again with Insert image from this workflow's Docs, then remove the old one.
  • Characters of the result to show: how much of a text result shows in the body, from 0 to 50,000 characters, 5,000 characters unless you change it. A longer result is cut in the email, with a note, and the whole text is attached as a file. With 0 the result is always attached and never shown in the body. A table result is not counted in characters: its rows show up to the email size limit below, and the whole table is attached as a CSV file.

Links and basic styles are kept; scripts, forms, frames and anything that runs are removed. Images from other websites are removed (they would tell their owner when the email is opened); only pictures you add with Insert image, and small embedded pictures, stay. Our header and footer are always kept.

A reference goes in the text of the body, not inside a tag or a link: <a href="…{{ref}}"> or <img src="…{{ref}}"> stop the email, because the value would end up in an address. A value that is over 95 KB on its own stops the email too. A body with only a stray < (for example a <b and c) is plain text; it is HTML only when it has a real tag such as <p> or <b>.

If a reference in the Body can't be filled in, that email isn't sent, and the SEND shows why, like other delivery problems. Gmail cuts an email whose HTML is longer than about 95 KB, so a result is cut sooner when needed to keep the email under that size; you can't change this. If the body alone is over it, the email isn't sent.

Preview shows the subject and the body as they would be sent now, using what the neurons made on their last run and what you have typed, even before it is saved, with the pictures you inserted. Switch between Desktop and Phone width. A reference with no value yet shows in the preview as a note, with a warning above it. Preview never sends anything and never uses credits. Save the workflow first if it says so. Only you, the owner of the workflow, can open Preview. In an Agent a User installs, the Builder's subject and body are not shown to the User at all.

What an email or API attaches

Attach the documents this run works on (under Email to and Endpoint URL) adds the run's documents as files: tables as Excel or CSV, docs as Word or Markdown, slides as PowerPoint, and any uploaded file in Docs exactly as it was uploaded (a PDF stays a PDF, a photo stays a photo; nothing is converted). It doesn't matter what type of file it is. An uploaded file never stops a send: if it can't be read, or doesn't fit with the other files, it is left out and the email (or the call) says which one and why.

The file this neuron makes itself (an image, audio or a PDF from MAKE) is different: an email always attaches it, whatever the option says; an API destination adds it only when Attach is on (an image or audio file that is too big for the call is left out with a note; a PDF that is too big stops the call). A result table goes in an email as a CSV file. Everything an email carries together (documents, the file the neuron made, the full text of a cut result and the pictures in the body) can be up to 28 MB, and one file up to 25 MB. If a Word, Excel or PowerPoint file, or the neuron's own file, is too big, can't be found or is unsafe, or the files together are over the limit, the email or call isn't sent and the SEND says why. If the mail service refuses an email for any reason, the SEND shows that too.

SEND: On error

The On error box in SEND shows which neurons start if this neuron fails. See On error links.

Limits

  • Inputs per neuron: up to 3 inputs when DO is AI, and up to 5 inputs when DO is Steps or Code.
  • Text input: up to 50,000 characters.
  • Input hint: up to 500 characters.
  • Instructions: up to 10,000 characters.
  • File upload: up to 32 MB per file.
  • Text files and spreadsheets: read in full, up to 200,000 characters of text; a longer file stops the neuron with a message to try a shorter file or split it into parts. Older Excel files (.xls), OpenDocument spreadsheets (.ods) and password-protected Excel files can't be read: save them as .xlsx or CSV first (and remove the password), then add them again.
  • Decision conditions: at least 2 conditions.
  • Email recipients: up to 5 recipients.
  • Email text: 5,000 characters of a result in the email body unless you set Characters of the result to show, up to 50,000 characters; a longer result is attached as a file, up to 25 MB.
  • Email subject: up to 200 characters.
  • Email size: the whole email body is kept under 95 KB.
  • Telegram message: up to 4,096 characters.

Common problems

A webhook key's secret is lost

A webhook key's secret is shown only once, when you create the key. If you lose it, click Revoke and create a new key.

The API endpoint URL is not saved

The API endpoint URL must start with https://, http:// or /. Otherwise the field shows "Not saved." Fix the address and leave the field to save it.

A result reaches my address twice

A result is tried again when your server doesn't answer with a 2xx status in time, so the same one can arrive more than once. Each call has an X-Neuron-Delivery-Id header that stays the same for every try: keep the ones you have handled and ignore a repeat. Recent deliveries under Endpoint URL shows each try. See Webhook integration.

Telegram messages don't arrive

Check the chat is still connected: open the SEND tab and look under Telegram chat. If it says the chat is no longer connected, click Connect Telegram and press Start in the Neuron bot again. A disconnected chat stops receiving results.

Queue can't be turned on for an input

Only one input per neuron can take a queue, and an input that asks when run, or is filled by another neuron or the webhook, can't take one. Click Turn off queue on the other input first.

Neuron nodes - Docs