Skip to content

Steps ​

A step is a unit of processing that a workflow runs in order from top to bottom. Add one from Add step in the editor, and drag to reorder. See Limits for the maximum number of steps.

Steps are grouped as follows when you add them.

GroupContents
Codatum actionsRun Query / Run Report / Screenshot / Email / LLM / HTTP Request
SlackConnected Slack workspaces (shown by Slack workspace name)

Each step can have an execute-if condition. For embedding values in the body, messages, and so on, see Template variables.

Run Query ​

Runs the specified saved query and makes the result available to later steps.

ItemDescription
QueryThe saved query to run. You select it together with its connection

Later steps can reference up to 20 rows of the result through template variables (see Limits). For example variables, see Template variables.

If you create a workflow from the right sidebar on a query detail, this step opens already configured.

Run Report Beta ​

Runs a report. Placing it right before a Screenshot step lets you capture the latest results.

INFO

This feature is in beta. The specification might change without notice.

ItemDescription
ReportThe report to run
Use default parametersOff by default. When on, resets parameters to the report's default values before running
Timezone for relative datesShown when Use default parameters is on. UTC is used if not set
Update report after runOff by default. When on, saves the run's results back to the report

Screenshot Beta ​

Captures a specific report page as a PNG. The resulting file URL can be used in a later Email or Slack attachment.

INFO

This feature is in beta. The specification might change without notice.

ItemDescription
ReportThe target report
PageThe page to capture
Run IDThe ID of the report run. If a Run Report step immediately precedes this one, a template variable referencing that step's runId might be filled in automatically
FormatType is PNG only. Theme is Light / Dark (default is light). Locale is en-US / ja-JP (defaults based on browser language)

Email ​

Sends email to users or groups in the workspace.

ItemDescription
ToChoose 1-20 users or groups (Limits)
SubjectUp to 200 characters. Supports template variables
BodySent as HTML. Supports template variables (up to 5,000 characters)
AttachmentOptional. You can specify a file URL from an earlier step, such as Screenshot, using a template variable

The sender is noreply@workflow.codatum.com. The email footer includes a link back to the workflow.

LLM ​

Runs natural language processing using an AI profile. Not selectable if Codatum AI is disabled for the workspace. When the workflow runs, the context (notebooks or folders) linked to the AI profile isn't loaded.

ItemDescription
AI ProfileThe AI profile to use. Create and review profiles under AI Profile settings
PromptThe content sent to the LLM. Supports template variables (up to 5,000 characters)

HTTP Request Beta ​

Sends an HTTP request to the specified URL. You can send query results or LLM output to an external service that accepts webhooks.

INFO

This feature is in beta. The specification might change without notice.

ItemDescription
MethodChoose GET or POST. The default when you add the step is POST.
URLThe destination. Specify an http or https URL. You can use template variables.
HeadersSelect Add header to specify a key and value, up to 50 headers (see Limits). Keys can be up to 128 characters, and values up to 2048 characters. Values can use template variables. When you add the step, Content-Type: application/json is already set.
BodyChoose None or JSON. The default when you add the step is JSON. JSON content can use template variables (up to 5000 characters). When Method is GET, the body is fixed to None.

Header values are saved as part of the workflow definition. Users who can view the workflow can see the values in the editor.

Sending and results ​

ItemDescription
Template expansionThe URL, header values, and body are sent after template variables are expanded at run time. If the expanded body isn't valid JSON, the step fails.
Headers added automaticallyEvery request includes X-Codatum-Workspace-Id (the workspace ID) and X-Codatum-Workflow-Id (the workflow ID). If the body is JSON and there's no Content-Type header, Content-Type: application/json is added.
URLs you can't send toThe step fails if the host is localhost, ::1, or an IP address that starts with 127., 10., 192.168., 169.254., or 172.16. through 172.31..
Timeout30 seconds (see Limits).
SuccessThe step succeeds when the response status code is below 400.
4xx responsesThe step fails without retrying.
5xx responses, timeouts, and connection errorsThe step retries automatically after a delay. If the retries don't succeed, the step fails. Each retry sends the request again, so the destination might receive the same request more than once.
OutputLater steps can reference the response status code (statusCode). It isn't shown in Insert variable. The response body can't be referenced.

To embed query results or LLM output in the body, convert them to JSON values with the json filter. Values that contain line breaks or " break the JSON if you embed them as is. The json filter output already includes ", so don't wrap it in ". This example references a Run Query step with the step ID query and an LLM step with the step ID llm.

liquid
{
  "text": {{ llm.text | json }},
  "rows": {{ query.rows | json }}
}

Slack ​

Sends a message to a specified channel. You must connect the workspace to Slack first.

Connecting Slack ​

  1. Open global nav > Workspace settings > External integrations > Slack integration.
  2. Select Connect Slack and approve the app in Slack.

The Codatum app joins a public channel automatically when it delivers there for the first time. Slack records the app joining in its audit log. For a private destination channel, add the app with /invite @Codatum. If a channel doesn't appear in the list, check that the app has been invited there.

You can also open the same settings screen from Slack integration settings when adding a step.

Re-authenticating ​

Use Re-authenticate when notifications fail or you need to refresh Slack permissions. This keeps the existing connection, so Workflow and Routine destinations keep working. If you Disconnect and connect the same Slack workspace again, you do not need to reselect those destinations.

  1. Open global nav > Workspace settings > External integrations > Slack integration.
  2. On the connection, select Re-authenticate and approve the app in Slack.

Settings ​

The display name is the connected Slack workspace's name.

ItemDescription
ChannelThe destination. Select Refresh channels to fetch the list again
Message TextSupports template variables (up to 5,000 characters). For formatting syntax, see Slack's message formatting guide
FileOptional. You can specify a file URL from an earlier step
Thread (optional)Specify the message timestamp from an earlier Slack step to reply in that thread
Include Link to CodatumOn by default. Adds a link back to the workflow. Viewing the link requires owner permission