# Playbooks

Playbooks are step-by-step guides for building Duvo assignments around specific business outcomes. Each playbook covers a real workflow end to end: why to automate it, what you'll build, how to set it up, and how to handle the edge cases that come up in practice.

Use a playbook when you want to automate a recognizable business goal — not a feature, but an outcome: "monitor inventory and alert on low stock", "process orders from a shared inbox", "triage customer complaints and route them to the right team".

***

## How Playbooks Are Structured

Every playbook follows the same structure so you can quickly find what you need:

| Section                | What it covers                                                                          |
| ---------------------- | --------------------------------------------------------------------------------------- |
| **Why Automate This?** | The business problem, the proposed solution, and expected results                       |
| **What You'll Build**  | A concrete description of the assignment — inputs, steps, outputs, connections used     |
| **Before You Start**   | Checklist of prerequisites: accounts, credentials, sample data                          |
| **Steps**              | Numbered setup instructions from creating the assignment through testing and going live |
| **Expected Results**   | What success looks like in your inbox, your systems, and in Duvo                        |
| **Troubleshooting**    | Solutions to the most common issues                                                     |
| **Take It Further**    | Extensions and enhancements once the core workflow is running                           |
| **Related**            | Links to other playbooks, connection docs, and feature guides                           |

***

## Playbook Categories

Playbooks are organized by the type of outcome they deliver.

***

### Inbound Intake

Turn incoming emails, documents, and forms into structured records — without manual rekeying.

* [Email Order Intake](https://github.com/duvoai/monorepo/blob/staging/knowledge-base/user-guide/playbooks/inbound-intake/email-order-intake.md) — Extract orders from a shared inbox, validate fields, write records, and flag anomalies for review.

***

### Documents

Process documents at scale — extract structured data, validate against master data, and route exceptions for human review.

* [OCR Document Validation](https://github.com/duvoai/monorepo/blob/staging/knowledge-base/user-guide/playbooks/documents/ocr-document-validation.md) — Extract fields from invoices, receipts, and IDs; cross-validate against your master data; and route low-confidence or anomalous records for human review before writing to your system.

***

### Reporting

Pull data from your systems on a schedule and deliver it where it is needed — Slack summaries, email digests, spreadsheet exports.

*Coming soon: Forecasting and Alerting — monitor warehouse data and alert on threshold breaches.*

***

### Operations

Handle the exception-heavy workflows that fall through the cracks: stuck transactions, failed items, aging cases, supplier follow-ups, QA spot checks.

*Coming soon: Exception Handling, Supplier Follow-up, QA Automation.*

***

### Customer-Facing

Route, triage, and respond to inbound customer requests consistently and at scale.

* [Complaint Triage](https://github.com/duvoai/monorepo/blob/staging/knowledge-base/user-guide/playbooks/customer-facing/complaint-triage.md) — Ingest complaints from email, Zendesk, Intercom, and Slack; classify severity and topic; draft a tone-checked response for human approval; route to the right queue; and tag SLA deadlines.

***

## Per-Connection Outcome Examples

Short outcome-based examples for the highest-usage connections. For step-by-step tutorials, follow the links to the full workflow guides.

***

### Slack

These workflows use Slack as an operational hub — team members trigger assignments, receive results, and approve actions without leaving Slack.

**On-demand reports from shared channels** A team member mentions the Duvo app with a question ("how many orders are stuck in pending?") in any enabled channel. The assignment queries your data source and posts a formatted answer back in the thread within minutes. No dashboards. No analyst required. See [Slack Mention Workflows](/examples/examples/slack-mention-workflows.md).

**Request intake and routing** Requests that arrive in #helpdesk, #ops-requests, or similar shared channels are read, classified, and routed to the right person or ticketing system automatically. The requester gets an acknowledgment in the thread; the right team gets a ticket or DM. See [Slack Mention Workflows — Request Intake and Routing](/examples/examples/slack-mention-workflows.md#use-case-2-request-intake-and-routing-in-shared-channels).

**Automated status updates on a schedule** Every Monday morning, a structured summary of last week's key metrics — revenue, exceptions, open cases — is posted to your team's Slack channel. Built from live warehouse or CRM data; no manual preparation needed. See [Snowflake Workflows — Scheduled KPI Report](/examples/examples/snowflake-workflows.md#use-case-1-scheduled-kpi-report-from-warehouse-data).

**Threshold alerts** When inventory falls below the reorder point, a fraud rate crosses a limit, or an error count spikes, your team gets a Slack notification immediately rather than discovering the problem in a weekly report. See [Snowflake Workflows — Threshold Alert](/examples/examples/snowflake-workflows.md#use-case-2-threshold-alert-when-a-metric-breaches-a-limit).

***

### Gmail

These workflows turn your inbox from a queue of interruptions into a structured input channel for your business systems.

**Inbox triage** Incoming emails are classified by category (support request, lead inquiry, invoice, newsletter), labeled in Gmail, and routed automatically — forwarded to the right team, logged to a spreadsheet, or saved to Drive. You open your inbox to find it already organized. See [Gmail Workflows — Inbox Triage](/examples/examples/gmail-workflows.md#use-case-1-inbox-triage).

**Draft replies to common inquiries** For routine customer questions, the assignment drafts a reply using your product documentation and preferred tone, saves it to Drafts, and waits for you to review. Complaints are flagged in Slack. Nothing is sent until you approve. See [Gmail Workflows — Drafting Replies](/examples/examples/gmail-workflows.md#use-case-2-drafting-replies-to-common-inquiries).

**Email order intake** Order emails arriving in a shared inbox are read, structured fields extracted, records written to your order management system, and anomalies escalated for human review. The sender receives a confirmation or a clarification request automatically. See [Email Order Intake](https://github.com/duvoai/monorepo/blob/staging/knowledge-base/user-guide/playbooks/inbound-intake/email-order-intake.md).

***

### Snowflake

These workflows read directly from your data warehouse to power reports, alerts, and exports — without requiring a data engineer or a BI dashboard.

**Scheduled KPI report** Every Monday morning, a weekly summary of revenue, order count, exception rate, and week-over-week changes is posted to your team's Slack channel or emailed to stakeholders. The assignment queries Snowflake, formats the results, and distributes them automatically. See [Snowflake Workflows — Scheduled KPI Report](/examples/examples/snowflake-workflows.md#use-case-1-scheduled-kpi-report-from-warehouse-data).

**Inventory threshold alerts** When SKU inventory drops below the reorder point, the assignment posts a Slack alert with the specific items and quantities. Alerts are deduplicated so the same issue does not notify repeatedly before anyone can act. See [Snowflake Workflows — Threshold Alert](/examples/examples/snowflake-workflows.md#use-case-2-threshold-alert-when-a-metric-breaches-a-limit).

**On-demand data exports to Google Sheets** A stakeholder needs a fresh data pull — customer list, transaction export, regional breakdown. The assignment runs the query and writes results into a named Google Sheet, including a "last refreshed" timestamp. Run on demand or on a schedule. See [Snowflake Workflows — Export to Google Sheets](/examples/examples/snowflake-workflows.md#use-case-3-export-query-results-to-google-sheets).

***

### Scheduling Patterns

Most automations follow one of these scheduling patterns. Choose the one that fits your workflow's cadence.

**Recurring digest (daily or weekly)** Run an assignment on a fixed schedule — every Monday at 7am, every weekday at 8am — to pull data, format a summary, and distribute it. Ideal for KPI reports, inbox roundups, and standing briefings that would otherwise require manual preparation. See [Scheduling Assignments](/assignment-features/scheduling-assignments.md) for setup instructions.

**Continuous monitoring with threshold alerting** Run an assignment every hour (or every 15 minutes for time-critical metrics) to poll a data source and act only when a condition is met. The assignment checks silently and does nothing if everything is within bounds, so notifications are signal not noise. See [Scheduling Assignments](/assignment-features/scheduling-assignments.md) for setup, and [Snowflake Workflows](/examples/examples/snowflake-workflows.md) for an example using warehouse data.

**Event-driven trigger with scheduled follow-up** An assignment starts when an event occurs (a new email, a Slack mention, a file upload) and then self-schedules a follow-up check. For example: process an order email immediately, then check 48 hours later whether a clarification response arrived. No separate cron job needed. See [Event-Driven Triggers](/assignment-features/event-driven-triggers.md) and [Scheduling Assignments — Self-Scheduling](/assignment-features/scheduling-assignments.md#self-scheduling-during-execution).

**Batch processing window** Run a large-volume workflow once per day during off-peak hours — process all unread order emails overnight, reconcile records at 2am, generate invoices for all completed jobs at end of day. Keeps interactive workloads unaffected while ensuring nothing accumulates indefinitely. See [Scheduling Assignments](/assignment-features/scheduling-assignments.md) for setup instructions.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.duvo.ai/playbooks/playbooks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
