# Build your first workflow

> Describe an automation and let the workflow author build, schedule, and run it for you.

The workflow wizard walks you through a few quick choices. You describe what you want; the author agent drafts it.

## Pick a workflow type

Open **Workflows** in the sidebar and click **New Workflow** (or pick **Workflow** from the **New** menu on the Hub). Then pick **Deterministic Code** or **Agentic Task**.

<Callout type="tip">
  When in doubt, pick Deterministic Code. Cheaper, faster, easier to debug.
  Switch to Agentic Task only when the path is genuinely unpredictable
  (research, judgment, fuzzy classification).
</Callout>

## Pick a trigger

Choose what fires the workflow: a schedule, a webhook, a new email, a new Slack message, and so on.

## Describe the goal

Tell the author agent what the workflow should accomplish and how. Be specific about inputs, action, and output format. You can also click the microphone and dictate it.

<Callout type="tip">
  "Post a Slack summary in #finance every Monday with last week's Stripe
  payouts" beats "weekly Stripe summary."
</Callout>

## (Agent only) Configure the agent

<Steps>
  <Step>
    Pick a model and, for models that support it, a reasoning effort. Fast
    models for triage and lookups, smarter models for nuanced reasoning.
  </Step>
  <Step>
    Optionally turn on **Pause for human input** and write the instructions for
    when the agent should stop and ask for approval.
  </Step>
</Steps>

<Callout type="note">
  Less is more with agents. Five well-chosen tools beats 30. Models get
  distracted by options they don't need.
</Callout>

## Review and build

Confirm the choices on the final step. Click **Create workflow** and the author agent drafts it for you.

## Refine, test, and enable

<Steps>
  <Step>
    Connect any credentials the workflow needs. Click a credential chip in the
    workflow document and pick or add an account.
  </Step>
  <Step>
    Ask Geni in chat to add, remove, or rewrite steps until it does what you
    want.
  </Step>
  <Step>
    Click **Launch** to test manually. Watch the execution timeline to confirm
    each step did the right thing.
  </Step>
  <Step>
    Flip the toggle from **Disabled** to **Enabled**. Runs stream into the
    **Executions** tab.
  </Step>
</Steps>

<Callout type="tip">
  Workflows are versioned. Open **Versions** from the workflow menu to roll back
  if a save breaks something.
</Callout>