Secrets
A secret is a named container of keyed values — an API key, a token, a password. Store it once and reference it from a task instead of typing the value into a field.
Using a secret
Section titled “Using a secret”Reference a key anywhere a reference works:
${secrets.<name>.<key>}For example ${secrets.billing.api_key}. The reference is exactly three
segments, and a fallback default is not allowed — an unset credential fails the
run instead of quietly becoming a literal value. Embedded references work too,
so a header value can be Bearer ${secrets.billing.api_key}.
secrets is a reserved name and cannot be used for a workflow variable.
Scopes
Section titled “Scopes”- User secrets are available to every workflow you own. This is the default for a credential several workflows share.
- Workflow secrets belong to a single workflow. Use one for a workflow-specific override of a user secret.
A workflow-scoped secret wins when both exist with the same name, and shadowing is by whole name: if the workflow-scoped secret lacks a key, that is an error rather than a fall through to the user-scoped secret.
A workflow-scoped secret belongs to the person who created it. When a shared workflow runs, each collaborator resolves references against their own secrets, never the owner’s — so a shared workflow’s credentials are supplied per run, not provisioned once by whoever shared it.
Managing secrets
Section titled “Managing secrets”Create a secret, add or replace individual keys, duplicate it under a new name — including promoting a user secret to a workflow-scoped one — and delete it. Deleting warns you first about the workflows that still reference the secret.
Values are write-only: you can add or replace them, but they are never shown back to you and are not returned by the interface. Only the secret’s name, its key names, and its timestamps are listed.
What it protects
Section titled “What it protects”- A secret’s values are stored encrypted and are never written into the workflow definition, so they do not persist in a saved workflow or its draft. Saved workflows are checked for reference syntax only.
- Values are resolved when a task runs, and are replaced with
[REDACTED]in logs, run history, results, errors and the feedback shown when an AI step is retried. - A suspended run’s state is encrypted too, so resuming it does not need the values in the clear.
What it does not protect
Section titled “What it does not protect”Secrets protect against accidental exposure. They are not a sandbox around a task you configure:
- The task, and the service it calls, still receives the real value it needs.
- A value you transform before it lands in a result — encoding it, for example — is no longer recognised, and is not redacted.
- Redaction matches exact values, so it can occasionally over-redact unrelated text that happens to equal a secret, and it does not redact a value that merely refers to a secret without containing it.
- A shared workflow shows a reference to every viewer without revealing whether the owner has a matching secret.
Limits
Section titled “Limits”An account can hold 100 secrets, a workflow 5, and one secret 32 keys — whichever limit you reach first. Delete a secret you no longer use to make room.
Secret names are up to 64 characters of lowercase letters, digits, _ or -.
Key names are up to 64 characters of letters in either case, digits, _ or -.