Skip to content

Troubleshooting

Flow

Each entry below starts with what you see. Messages in quotes are the exact text Flow shows.

“Must be 4-255 characters, starting with a letter, containing only letters, numbers, or hyphens”

Section titled ““Must be 4-255 characters, starting with a letter, containing only letters, numbers, or hyphens””

Cause: the Automation Name in the New Automation dialog has a space or another character it doesn’t allow.

Fix: use letters, numbers and hyphens only, starting with a letter, for example daily-stock-check.

“Drop near an existing step” when you drag a step

Section titled ““Drop near an existing step” when you drag a step”

Cause: the canvas already has steps, and you dropped the new one too far from any of them. Two related messages: “Cannot add steps after terminal nodes” means you dropped it after a Success Response or Error Response, which end the run. “Add to a condition branch instead” means you dropped it on a Condition.

Fix: drop the step close to the step it should follow, or select the + below that step and choose from Add Step. For a Condition, use the + on one of its branches.

Cause: the automation has unsaved changes. The button’s tooltip says “Save changes before publishing”.

Fix: select Save, then Publish.

Cause: your role can’t change an automation’s lifecycle, or the version you’re looking at is archived. Publish appears only on a draft.

Fix: ask an admin in your organization for access.

Cause: the automation uses an app that isn’t connected, or a connector or operation it needs is missing. The notice lists each item.

Fix: set up the connections it lists, then reopen the automation. Items under “This one is for the platform to sort, not the person building the automation.” need work.studio support.

Cause: the Input tab of the test panel has text that isn’t valid JSON (“The Input tab is not valid JSON. Check the format and run again.”).

Fix: correct the JSON, or switch to the form view of the Input tab.

“1 required input missing” next to Run Test

Section titled ““1 required input missing” next to Run Test”

Cause: a trigger’s Run Inputs marks an input as required and the test doesn’t supply it.

Fix: select Run Test. Flow asks for the missing values before it runs. Or fill them in on the Input tab first.

“Unknown expression steps.x - did you mean step.x?”

Section titled ““Unknown expression steps.x - did you mean step.x?””

Cause: an expression starts with a name that isn’t step, var, input, config or (inside a loop) loop. The usual culprits are plurals (steps., variables.) and long forms (workflow.input.).

Where you see it: in the editor’s Problems. When the automation runs, the value is empty.

Fix: use the name the message suggests. See Expressions.

A value comes out empty, or a Condition takes the wrong branch

Section titled “A value comes out empty, or a Condition takes the wrong branch”

Cause: the expression’s name is right but a later part doesn’t exist: a step name that doesn’t match the canvas, a step that hasn’t run, or a misspelled field. The value is empty.

Fix: use the step name exactly as shown on the canvas, and the field names from the earlier step’s Output tab. Run a test and compare the names.

Cause: equals compares text exactly, including capital letters, so Yes doesn’t equal yes.

Fix: match the case, or compare a lower-cased value: {{ input.answer | lower }} with equals yes.

Cause: an automation can’t read secrets, in an expression or in Function code.

Fix: keep credentials in a connection and use a connector step (or sdk.connector(...) in code).

“Unsupported function language: PYTHON. Only JAVASCRIPT is currently supported.”

Section titled ““Unsupported function language: PYTHON. Only JAVASCRIPT is currently supported.””

Cause: the Function step’s Language is set to Python.

Fix: set Language to JavaScript and rewrite the code in JavaScript.

“Function step ‘…’ idle timeout after 60s (no progress)”

Section titled ““Function step ‘…’ idle timeout after 60s (no progress)””

Cause: the Function step’s code made no progress for 60 seconds, usually because of an endless loop or a promise that never settles. A Function step also stops after 30 minutes in total (“exceeded max execution time”).

Fix: look for loops that never end and for promises that never resolve.

The test stops before the automation finishes

Section titled “The test stops before the automation finishes”

Cause: the test panel waits for a set time, shown next to Run Test.

Fix: pick a longer run timeout, from 30s up to 30m, and run the test again.

“Invalid cron expression” or “Invalid timezone”

Section titled ““Invalid cron expression” or “Invalid timezone””

Cause: the Schedule trigger’s Cron Expression isn’t valid, or the time zone isn’t an IANA name.

Fix: use six fields (second, minute, hour, day of month, month, day of week), or pick a Quick Presets entry. Use a time zone from the list, or a name such as America/New_York.

A schedule or webhook doesn’t start the latest changes

Section titled “A schedule or webhook doesn’t start the latest changes”

Cause: triggers run the published version. Your recent edits are in the draft.

Fix: select Publish. Also check that the trigger shows Active on its card. A trigger pauses itself after three failed starts in a row. If it shows Paused after failures, fix the reason it shows (often “no published version”), then select Resume trigger.

An automation built from a description started running on its own

Section titled “An automation built from a description started running on its own”

Cause: when the AI Automation Generator finishes, Flow saves the automation, creates its trigger and publishes it.

Fix: in the editor, select Triggers and select Pause trigger on each trigger until you’ve reviewed the automation. Select Resume trigger when you’re ready.

“Payload too large” (HTTP 413) from a webhook

Section titled ““Payload too large” (HTTP 413) from a webhook”

Cause: the request body is bigger than the webhook’s size limit. The default is 1 MB.

Fix: send a smaller body, or raise the webhook’s limit. See Incoming webhooks.

Open the trigger’s Deliveries and find the delivery:

You see What it means Fix
No row at all Nothing reached the trigger. Check the sender is calling the right URL, the message was posted in the channel the trigger watches, or the schedule’s time and time zone.
Refused The trigger turned it away. The reason says why, such as “The signature did not match”. Fix the sender, then send it again. See Incoming webhooks.
Waiting (trigger paused) The trigger is paused. Select Resume trigger. Waiting deliveries run in order.
Expired while waiting or Discarded It waited and was dropped. Replay it if it’s still within 30 days.
Skipped or “The automation has no published version” The automation was never published. Publish it, then resume the trigger.
Failed Handing it to the automation failed. Fix the reason shown, then Replay it.
Sample only (not run) Someone was listening for a sample. Replay it to run it.
Already received The sender sent the same delivery twice; the first one ran. Nothing.
Ran It started a run. Open the run from the row to see what happened inside.

There’s no rerun button in Logs. If a trigger started the run, open the trigger’s Deliveries, select the delivery, and select Replay: it runs again with the same input on the current published version. Otherwise, fix the cause and start a new run: select Run trigger now or Run with test input on the trigger’s card, or run a test.

“This connection’s address is incomplete - it still needs a value”

Section titled ““This connection’s address is incomplete - it still needs a value””

Cause: the connector’s address has a part that comes from the connection, such as your account’s subdomain, and the connection doesn’t have it.

Fix: reconnect and fill in the missing value.

“The connection could not be resolved”

Section titled ““The connection could not be resolved””

Cause: the step points at a connection that doesn’t exist in this environment, or that isn’t available to the customer the run is for.

Fix: check the step’s connection in this environment. When testing, check which Test Customer is selected.

“This address isn’t allowed: … Automations can call public addresses only.”

Section titled ““This address isn’t allowed: … Automations can call public addresses only.””

Cause: the step called an address that isn’t on the public internet. Automations can call public addresses only. Refused: localhost and other loopback addresses, private networks (such as 10.x, 172.16.x to 172.31.x and 192.168.x), link-local and cloud metadata addresses (169.254.169.254), internal host names, names that don’t resolve, work.studio’s own internal addresses, and unusual numeric forms of an address such as 2130706433 or 0x7f000001. Every address a name resolves to is checked when the call connects, and so is every redirect. The run’s error names the reason, for example:

  • “This address isn’t allowed: Blocked hostname: localhost. Automations can call public addresses only.”
  • “This address isn’t allowed: Link-local address not allowed: 169.254.169.254. Automations can call public addresses only.”
  • “This address isn’t allowed: its host name doesn’t resolve (…). Automations can call public addresses only.”

It applies to connector steps, sdk.connector() in Function and Smart Function steps, Poll steps, an assistant’s HTTP tools and MCP servers, connector widgets and Test on a connection. A connector widget or test reads “This connection’s address isn’t allowed: … Connectors can call public addresses only.” An assistant MCP server that runs as a local process (STDIO) is refused too: “This MCP server isn’t allowed: a local-process (STDIO) server can’t be started here. Use a remote MCP server at a public address.”

Fix: point the connector or the connection at the system’s public address. To reach a system inside your own network, publish it at a public address and protect it with a credential and an IP allowlist.

“Path parameter ‘…’ has no value”

Section titled ““Path parameter ‘…’ has no value””

Cause: the operation’s path needs a value that usually comes from the trigger’s event, and you ran the automation without that event, for example from a test with empty input.

Fix: supply the value in the test panel’s Input tab, or map the parameter to a value that’s always present.