> ## Documentation Index
> Fetch the complete documentation index at: https://docs.collabase.ch/llms.txt
> Use this file to discover all available pages before exploring further.

> Build visual no-code workflows that react to events, apply logic, and take action across Collabase apps and 40+ external services.

# Overview

# Automation

<img src="https://mintcdn.com/collabase-5ba5d338/fZL8OLk6LqJW5i_G/images/automation.png?fit=max&auto=format&n=fZL8OLk6LqJW5i_G&q=85&s=c650f8a0b9d86dbd0ddcc84e2ce77e4a" alt="Collabase Automation builder" style={{ borderRadius: '8px', marginBottom: '24px' }} width="1000" height="1000" data-path="images/automation.png" />

Automation is the workflow engine built into Collabase. Connect Collabase apps and external services through a visual, drag-and-drop builder — no coding required. When an event happens, the automation evaluates your conditions and runs your actions automatically in the background.

<Note>
  Executions are **asynchronous**. When a trigger fires, it returns immediately and the workflow runs in the background. You can track every run in the **Runs** tab.
</Note>

## How it works

Every automation is a graph of connected nodes. You start with a trigger, add logic, and chain actions.

<CardGroup cols={3}>
  <Card title="Triggers" icon="bolt" href="/automation/triggers">
    A trigger starts the automation — a Collabase event, a timer, an incoming request, an external service event, or a manual run by a user.
  </Card>

  <Card title="Conditions" icon="filter" href="/automation/conditions">
    Condition nodes evaluate data from the trigger or a previous action and decide whether to continue or branch. A failed condition stops that branch silently.
  </Card>

  <Card title="Actions" icon="play" href="/automation/actions">
    An action does something — creates a task, sends a Slack message, opens a Jira issue, calls an external service, or runs AI. Each action passes its output forward.
  </Card>
</CardGroup>

## Execution model

When a trigger fires, the engine runs these steps:

1. **Trigger fires** — the event passes its output fields to every connected downstream node.
2. **Conditions evaluate** — each condition node checks its rule. If it fails, that branch stops; other branches continue independently.
3. **Actions execute** — actions run in graph order. Each action receives upstream data and produces its own output.
4. **Every step is logged** — all runs appear in the **Runs** tab with per-node input, output, and status.

## Execution statuses

| Status    | Meaning                                                                                     |
| --------- | ------------------------------------------------------------------------------------------- |
| `QUEUED`  | The trigger fired; execution is waiting to start                                            |
| `RUNNING` | The automation is actively processing nodes                                                 |
| `SUCCESS` | All nodes completed without error                                                           |
| `FAILED`  | One or more nodes encountered an unrecoverable error                                        |
| `PARTIAL` | Some branches succeeded, others failed — or execution is paused at an approval or wait node |

A `PARTIAL` status is common when an automation is waiting for a human approval or a scheduled delay. It is not an error — check the Runs tab to see which node is waiting.

## Variables

Reference data from any upstream node in your action fields using these syntax forms:

| Syntax                           | What it references                                                   |
| -------------------------------- | -------------------------------------------------------------------- |
| `{variableName}`                 | A value stored with a **Set Variable** node                          |
| `{payload.fieldName}`            | A field from the trigger payload (e.g. a webhook body or event data) |
| `{stepOutputs.nodeId.fieldName}` | The output of a specific named node                                  |

Supports dot-notation for nested values (`{payload.task.priority}`) and array indexing (`{stepOutputs.parseResult.items[0].name}`).

**Example:**

```
Task created by: {payload.assignee.name}
Issue URL: {stepOutputs.createJiraIssue.url}
Summary: {variableSummary}
```

## Node categories

| Category         | Node types                                                                         |
| ---------------- | ---------------------------------------------------------------------------------- |
| **Core**         | Trigger, Action                                                                    |
| **Logic**        | Filter, IfElse, Router, Split, ForEach, Set Variable, Transform, Code, Python Code |
| **Flow Control** | Wait, Approval, Sub-flow, Merge, Error Handler                                     |
| **AI**           | AI Prompt, AI Agent, MCP                                                           |
| **Data**         | Data Store                                                                         |
| **Utility**      | Sticky note                                                                        |

→ [Full node reference](/automation/nodes)

## 40+ connectors

Collabase ships with 40+ pre-built connectors:

<CardGroup cols={4}>
  <Card title="Slack, Teams, Discord" icon="comments" href="/automation/connectors/slack" />

  <Card title="GitHub, GitLab, Jira" icon="code-branch" href="/automation/connectors/github" />

  <Card title="HubSpot, Pipedrive, Stripe" icon="chart-line" href="/automation/connectors/hubspot" />

  <Card title="Sentry, Datadog, PagerDuty" icon="shield" href="/automation/connectors/sentry" />

  <Card title="Google Drive, Sheets" icon="cloud" href="/automation/connectors/google-drive" />

  <Card title="Bexio, Abacus, Personio" icon="building" href="/automation/connectors/bexio" />

  <Card title="OpenAI, Local AI" icon="wand-magic-sparkles" href="/automation/connectors/openai" />

  <Card title="HTTP, Transform, Code" icon="wrench" href="/automation/connectors/http" />
</CardGroup>

→ [Browse all connectors](/automation/integrations)

## Connections

Before using any connector, you create a **Connection** — a named, encrypted set of credentials. Connections are reusable across all automations in your Space.

Go to **Automation → Connections → + New Connection** to set one up. Each connection can be:

* **Private** — visible only to you
* **Shared with Space** — available to all automations in this Space
* **Shared globally** — available to all Spaces on this Collabase instance

## Rate limits

| Limit                                  | Default   |
| -------------------------------------- | --------- |
| Max executions per automation / minute | 60        |
| Max active automations per Space       | 100       |
| Max action nodes per automation        | 50        |
| Max execution duration                 | 5 minutes |
| Approval node timeout                  | 72 hours  |

***

## Rule permissions

Every automation rule has its own access configuration. The rule creator always has full access. You can share specific permissions with other users or groups from the rule's **Settings → Permissions** tab.

| Permission           | What it allows                                          |
| -------------------- | ------------------------------------------------------- |
| **View**             | See the rule and read its full execution log            |
| **Run**              | Trigger the rule manually from the Automation dashboard |
| **Edit**             | Change triggers, conditions, actions, and rule settings |
| **Enable / Disable** | Activate or pause the rule without editing it           |
| **Delete**           | Permanently remove the rule                             |

Grant permissions to individual users or groups. A user who is not granted at least **View** cannot see the rule exists.

## Run as

Each rule has a **Run as** setting that controls how actions are attributed in the activity log:

| Setting                         | Effect                                                                                                                                                        |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Triggering user** *(default)* | Actions created by the automation appear in activity logs attributed to the user whose action triggered the run. Recommended for compliance and auditability. |
| **System bot**                  | Actions appear attributed to an anonymous system account. Useful for background jobs where the triggering user identity should not be visible.                |

Set the **Run as** option in the rule's **Settings** tab.
