# Workflows

URL: /workflows · Id: `page:workflows`

> How the work runs: each Team's Processes, the Workflows that run them, what starts each one, and the Approvals they wait on.

A [Process](/business/nouns/process) is a job the business does again and again, owned by one [Role](/business/nouns/role) on one [Team](/business/nouns/team). Its [Workflows](/business/nouns/workflow) run it, the same way whether an agent or a person holds the seat.

| Layer | What it is | Example |
| --- | --- | --- |
| Team | Owns its Processes and the [Metrics](/business/nouns/metric) that judge them | [Finance Team](/agents/finance) |
| Process | The job: its outcome, accountable Role, [Settings](/business/nouns/setting) and service level | [Billing](/workflows/processes/billing) |
| Workflow | The steps that do the job, started by a [Trigger](/business/nouns/trigger) | [Dunning](/workflows/processes/billing/dunning), every day |
| Step | One [Verb](/business/nouns/verb) called as one Role, under its [Permissions](/business/nouns/permission) and [Limits](/business/nouns/limit); past a Limit it waits on an [Approval](/business/nouns/approval) | [Invoice.collect](/business/nouns/invoice/collect) as the [Billing Specialist](/agents/finance/billing-specialist) |
| [Action](/business/nouns/action) | One execution of a Workflow, kept forever | Dunning on the 3rd, `done` |

Most Processes are on from the first day for every [Product Template](/business/nouns/product-template). You change one by saying what you want.

| You say | Process | It changes |
| --- | --- | --- |
| `Retry failed payments four times` | [Billing](/workflows/processes/billing) | `dunning.retries` |
| `Ask me before any charge over $500` | [Expense approval](/workflows/processes/expense-approval) | `spend.askAbove` |
| `Answer new leads within five minutes` | [Inbound sales](/workflows/processes/inbound-sales) | `inbound.answerWithin` |
| `Close the books by the fifth business day` | [Books](/workflows/processes/books) | `close.businessDay` |
| `Pay suppliers on Fridays` | [Supplier payouts](/workflows/processes/supplier-payouts) | `payouts.day` |
| `Remind me before the annual report is due` | [Company filings](/workflows/processes/company-filings) | turns it on |
| `Answer our phone` | [Call routing](/workflows/processes/call-routing) | turns it on |

Each sentence becomes one call:

**Ask**

```text
Retry failed payments four times
```

**API**

```bash
curl -X PATCH https://api.sb/leaseline.app/settings/setting_1 \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"key":"dunning.retries","value":4}'
```

**SDK**

```ts
import { $ } from 'startup-builder'

await $.Setting.update({ id: 'setting_1', key: 'dunning.retries', value: 4 })
```

**CLI**

```bash
npx startup-builder do Setting.update --json '{"id":"setting_1","key":"dunning.retries","value":4}'
```

**MCP**

```json
{
  "name": "do",
  "arguments": {
    "code": "return await $.Setting.update({ id: 'setting_1', key: 'dunning.retries', value: 4 })"
  }
}
```

| Read next | For |
| --- | --- |
| [Processes](/workflows/processes) | Every Process by Team, with its Workflows |
| [How a Workflow runs](/workflows/how-workflows-run) | Steps, failures, service levels, and turning a Process on or off |
| [Triggers](/workflows/triggers) | The four ways a Workflow starts |
| [Approvals](/workflows/approvals) | Where a step waits for a yes |
| [Rhythm](/workflows/rhythm) | Every Workflow by when it starts: the operating week |

**Guides.**

| You say | Guide | Calls | Status |
| --- | --- | --- | --- |
| `Ask me before big refunds` | [Ask me before big refunds](/workflows/guides/ask-me-before-big-refunds) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `When a customer reaches one year with us, email them a thank-you from me and give them a free month` | [Automate a workflow](/workflows/automate-a-workflow) | [Process.create](/business/nouns/process/create), [Coupon.create](/business/nouns/coupon/create), [Workflow.create](/business/nouns/workflow/create), [Trigger.create](/business/nouns/trigger/create) | `beta` |
| `Announce every release` | [Announce every release](/workflows/guides/announce-every-release) | [Workflow.create](/business/nouns/workflow/create), [Trigger.create](/business/nouns/trigger/create) | `live` |
| `Answer privacy requests` | [Answer privacy requests](/workflows/guides/answer-privacy-requests) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Card charges under $500 are fine without me` | [Approve card charges over $500](/workflows/guides/approve-card-charges-over-500) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Chase unpaid invoices` | [Chase unpaid invoices](/workflows/guides/chase-unpaid-invoices) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Close the books every month` | [Close the books every month](/workflows/guides/close-the-books-every-month) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Escalate hard support questions to me` | [Escalate hard support questions to me](/workflows/guides/escalate-hard-support-questions-to-me) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Pay suppliers every Friday` | [Pay suppliers every week](/workflows/guides/pay-suppliers-every-week) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Qualify leads and book demos` | [Qualify leads and book demos](/workflows/guides/qualify-leads-and-book-demos) | [Lead.qualify](/business/nouns/lead/qualify), [Meeting.book](/business/nouns/meeting/book) | `live` |
| `Remind me before the annual report is due` | [Remind me before the annual report is due](/workflows/guides/remind-me-before-the-annual-report-is-due) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Test two onboarding emails` | [Test two onboarding emails](/workflows/guides/test-two-onboarding-emails) | [Experiment.create](/business/nouns/experiment/create), [Experiment.start](/business/nouns/experiment/start) | `live` |
| `Welcome every new customer` | [Welcome every new customer](/workflows/guides/welcome-every-new-customer) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |
| `Turn on the Monday Role review` | [Turn a process on or off](/workflows/guides/turn-a-process-on-or-off) | [Process.enable](/business/nouns/process/enable), [Setting.update](/business/nouns/setting/update) | `live` |