# Create an automation (/work/automation/create-an-ai-automation)



Create an automation when the same loop keeps coming back: check sources, decide what matters, write or update something, follow up, and bring the result back to the team.

## What Goes Into an Automation? [#what-goes-into-an-automation]

Every automation needs a **trigger** (when it runs), a **workflow document** (what it does, in plain language), and an **executor** (the AI teammate that carries it out). Get those three right and the automation runs itself.

<LivePreview component="AutomationView" />

## How to Create an Automation [#how-to-create-an-automation]

<Steps>
  <Step>
    ### Step 1: Open Automations and choose a creation path [#step-1-open-automations-and-choose-a-creation-path]

    Open **Automations** from the sidebar. Use **Create via Chat** when you want to describe the whole workflow in natural language. Use **Create manually** when you already know the name, executor, workflow, schedule, and delivery target.

    <LivePreview component="AutomationView" />
  </Step>

  <Step>
    ### Step 2: Describe the full loop in chat [#step-2-describe-the-full-loop-in-chat]

    If you choose chat, include five things in one message: the source to check, the decision rule, the output to create, the schedule, and where the result should be delivered.

    Example:

    > Every weekday at 9am, check #product-updates for shipped changes since yesterday, write a one-paragraph summary, and post it to #standup. If nothing changed, skip the post.

    <LivePreview component="NewThread" scenario="{ intent: &#x22;automation&#x22;, draft: &#x22;Every weekday at 9am, check #product-updates for shipped changes since yesterday, write a one-paragraph summary, and post it to #standup. If nothing changed, skip the post.&#x22; }" />
  </Step>

  <Step>
    ### Step 3: Fill the manual form when details are known [#step-3-fill-the-manual-form-when-details-are-known]

    If you choose manual creation, give the automation a short name, pick the AI teammate that should execute it, and write the workflow document. The workflow document should say what to check, what judgment to make, what to produce, and where to report.

    <LivePreview component="AutomationView" scenario="{ manualCreateOpen: true, manualCreateDraft: { name: &#x22;Daily product update scan&#x22;, instructions: &#x22;Check the agreed sources, decide what changed, write the update, and deliver it to the team channel.&#x22; } }" />
  </Step>

  <Step>
    ### Step 4: Set the trigger, write delivery into the workflow [#step-4-set-the-trigger-write-delivery-into-the-workflow]

    Choose when the automation runs with the schedule controls. The form has no delivery field — where the output goes lives in the workflow document, so name a channel, document, task, or other target the executor can reach there instead of leaving it implicit. Leave **Enabled** on only when you are ready for the first run to happen.

    <LivePreview component="AutomationView" scenario="{ select: &#x22;auto_digest&#x22; }" />
  </Step>
</Steps>

<Callout type="info">
  The workflow document is the source of truth for future runs. If the automation should change behavior later, edit the document instead of relying on a one-time chat instruction.
</Callout>

## What to check before enabling [#what-to-check-before-enabling]

* The executor AI teammate has access to every source it must read.
* The delivery target is explicit and reachable.
* The workflow says what to do when there is nothing to report.
* The schedule matches the team's timezone.
* A human owner knows where run results and failures will appear.

<Cards>
  <Card title="Triggers and schedules" href="/work/automation/triggers-and-schedules" description="Time-based schedules and event triggers, in detail." />

  <Card title="Manage automations" href="/work/automation/manage-ai-automations" description="Edit, pause, or review runs after creation." />
</Cards>
