Approval Workflow — Three-Tier System

The approval workflow defines three tiers of human oversight for automated task outputs. Each tier matches a level of risk to a level of control.

Tier 1: Autonomous

Runs, writes output, no human needed. The agent acts on its own authority.

Applicable tasks: Monitoring alerts, ranking reports, audit scans, competitor snapshots, prospect audits.

Process flow:

Task executes → Output written → Brief updated → Optional notification sent

Notification style: Summary-only alerts. Example: “Weekly scan complete for Keystone Buffalo — 1 new finding. See report.”

Tier 2: Queue for Approval

Runs, produces a draft, holds until a human approves. Nothing goes live until approved.

Applicable tasks: GBP posts, review responses, local page content, client-facing reports.

Process flow:

Task runs → Draft created in drafts/ folder → Approval request sent
→ Human reviews:
  APPROVED → execution proceeds → confirmation sent
  REJECTED → draft archived → note logged
  EDIT [notes] → draft revised → re-queued for approval

Approval request contents:

  • What content was drafted
  • Publication destination
  • Content preview
  • Action buttons (Approve / Reject / Edit)

Timeout behavior:

  • Channel: Slack (preferred) or email, configured per brand
  • First notification: immediate
  • Reminder: 48 hours if no response
  • Auto-archive: 72 hours — draft archived, flagged in brief
  • Timeout action: configurable as archive or escalate

Tier 3: Notify Before AND After

Highest stakes. Agent notifies before execution, waits for explicit go-ahead, executes, then confirms completion.

Applicable tasks: Client-facing emails, GBP/website publishing, third-party actions.

Process flow:

Task prepares content → PRE-approval notification sent →
Human replies CONFIRM → Task executes →
POST-execution confirmation sent to agency + client

Pre-approval notification includes:

  • Action description
  • Recipient information
  • Full content preview
  • Explicit CONFIRM / CANCEL options

Post-execution notification includes:

  • What was published/sent
  • Timestamp
  • Confirmation reference
  • Recipients: agency reviewer + client contact (if configured)

Configuration

Approval settings live in _brand.brief.md:

Agency / Multi-User Setup

approval:
  reviewer: agency
  reviewer_channel: slack
  reviewer_contact: #local-seo-alerts
  client_notify: true
  client_channel: email
  client_contact: contact@client.com
  client_notify_format: summary
  approval_timeout_hours: 48
  timeout_action: archive

Single-User Setup

approval:
  reviewer: self
  reviewer_channel: slack
  reviewer_contact: #my-alerts
  client_notify: false

Non-Negotiable Requirements

These actions always require explicit human approval regardless of configuration:

  • Client GBP content publication
  • Emails to clients or third parties
  • Website content publishing
  • Any action that is difficult to reverse

These cannot be overridden to autonomous tier. The system enforces these guardrails.

Platform Implementation

Claude Native: Uses Gmail MCP for email delivery and Slack MCP for Slack notifications. Confirmation via Slack reply, email response, or updating the Approval Required field in draft files.

Other platforms: Implement the same three tiers using whatever notification and confirmation mechanism fits your stack. The schema and status fields are platform-agnostic. Systems read Status: PENDING to manage approval interfaces.

Approval Status Tracking

Every queued or notify-tier output includes an Approval Required section:

## Approval Required
- Status: PENDING | APPROVED | REJECTED
- Reviewer: {who approved/rejected}
- Date: {action date}
- Notes: {reviewer comments}

The brief’s deliverables section tracks pending approvals. The session log records approval outcomes.


Learn More

To learn how approval workflows protect your client work, see the approval workflows overview.