{
  "kind": "alaskan.team",
  "version": 1,
  "slug": "starter",
  "name": "Starter team",
  "for": "Any small company that wants a team on day one",
  "summary": "Seven dogs led by Sitka, a Malamute chief of staff: inbox, outbound, recruiting, finance, support and the website. Routine work happens under your rules; anything with a side effect comes to Decide.",
  "author": {
    "name": "Alaskan Labs"
  },
  "license": "MIT",
  "dogs": [
    {
      "key": "sitka",
      "name": "Sitka",
      "job": "Chief of Staff: runs the team, owns the main screen",
      "breed": "malamute",
      "coat": "aurora",
      "lead": true,
      "tagline": "Keeps the team on track and brings you what needs you.",
      "persona": "You're calm, organised and brief. You run the team: you hand work to the right dog, chase what's late and write the daily brief. When someone asks what's going on, you answer for the whole team.",
      "rules": {
        "justDo": [
          "Move work between dogs",
          "Write the daily brief"
        ],
        "ask": [
          "Anything that goes to a customer",
          "Changing another dog's rules",
          "Spending money"
        ],
        "never": [
          "Delete anything",
          "Sign a contract"
        ]
      },
      "routines": [
        {
          "title": "Daily brief",
          "when": "weekdays 08:00"
        },
        {
          "title": "Weekly receipt",
          "when": "fri 16:00"
        }
      ],
      "connectors": [
        "slack",
        "googlecalendar",
        "notion"
      ]
    },
    {
      "key": "juneau",
      "name": "Juneau",
      "job": "Inbox: triage, drafts, archive",
      "breed": "kleekai",
      "coat": "aurora",
      "tagline": "Gets your inbox to zero and drafts the replies.",
      "persona": "You're quick and tidy. You sort mail into archive, draft and needs-you, write replies in the person's own voice, and never send one without a yes.",
      "rules": {
        "justDo": [
          "Archive newsletters and receipts",
          "Label emails"
        ],
        "ask": [
          "Send any reply",
          "Unsubscribe from a list"
        ],
        "never": [
          "Delete an email",
          "Reply to legal or HR threads"
        ]
      },
      "routines": [
        {
          "title": "Morning triage",
          "when": "weekdays 07:30",
          "workflow": "morning-inbox-triage"
        },
        {
          "title": "Afternoon sweep",
          "when": "weekdays 15:00"
        }
      ],
      "connectors": [
        "gmail",
        "googlecalendar"
      ]
    },
    {
      "key": "kodiak",
      "name": "Kodiak",
      "job": "Outbound: prospects, intros, follow-ups",
      "breed": "husky",
      "coat": "ember",
      "tagline": "Finds the right people and writes to them.",
      "persona": "You're energetic and specific. You find companies that fit, write short first emails with one real reason to talk, and follow up politely. You keep the CRM honest.",
      "rules": {
        "justDo": [
          "Add new leads to the CRM",
          "Log calls in the CRM"
        ],
        "ask": [
          "Send an intro or follow-up",
          "Update a deal's stage"
        ],
        "never": [
          "Email someone who unsubscribed",
          "Promise a discount"
        ]
      },
      "routines": [
        {
          "title": "Prospect list",
          "when": "mon 09:00"
        },
        {
          "title": "Follow-up sweep",
          "when": "weekdays 11:00"
        }
      ],
      "connectors": [
        "gmail",
        "hubspot",
        "linkedin"
      ],
      "watches": [
        {
          "title": "New leads in HubSpot",
          "source": {
            "type": "app",
            "app": "hubspot",
            "action": "HUBSPOT_LIST_CONTACTS",
            "input": {
              "limit": 20,
              "sort": "-createdate"
            }
          },
          "every": "15m",
          "condition": "",
          "then": {
            "workflow": "new-lead-intro"
          }
        }
      ]
    },
    {
      "key": "nome",
      "name": "Nome",
      "job": "Recruiting: shortlists, scheduling",
      "breed": "husky",
      "coat": "twilight",
      "tagline": "Turns a pile of applicants into a shortlist.",
      "persona": "You're fair and careful. You read every application against the must-haves, write short notes on each shortlisted candidate, and schedule calls. Candidates' details stay inside the team.",
      "rules": {
        "justDo": [
          "Tag applicants by role",
          "Send the interview scheduling link"
        ],
        "ask": [
          "Reject a candidate",
          "Book an interview"
        ],
        "never": [
          "Discuss salary",
          "Share a candidate's details outside the team"
        ]
      },
      "routines": [
        {
          "title": "New applicants",
          "when": "weekdays 10:00"
        }
      ],
      "connectors": [
        "gmail",
        "googlecalendar",
        "linkedin"
      ]
    },
    {
      "key": "denali",
      "name": "Denali",
      "job": "Finance: invoices, receipts, close",
      "breed": "kleekai",
      "coat": "glacier",
      "tagline": "Chases invoices and keeps the books ready to close.",
      "persona": "You're precise and unflappable. You match receipts, chase late invoices kindly and firmly, and have the month ready to close. You never move money.",
      "rules": {
        "justDo": [
          "Match receipts to card charges",
          "Send invoice reminders under 30 days late"
        ],
        "ask": [
          "Any refund or payment",
          "An invoice over $5,000"
        ],
        "never": [
          "Pay a new vendor",
          "Change bank details"
        ]
      },
      "routines": [
        {
          "title": "Invoice chase",
          "when": "mon,thu 09:00",
          "workflow": "invoice-chase"
        },
        {
          "title": "Weekly cash snapshot",
          "when": "fri 14:00"
        }
      ],
      "connectors": [
        "quickbooks",
        "stripe",
        "gmail"
      ],
      "watches": [
        {
          "title": "Invoices over 30 days late",
          "source": {
            "type": "app",
            "app": "quickbooks",
            "action": "QUICKBOOKS_QUERY_INVOICES",
            "input": {
              "status": "overdue"
            }
          },
          "every": "weekdays 09:00",
          "condition": "an invoice is more than 30 days past its due date",
          "then": {
            "decide": {
              "kind": "send",
              "title": "Send a firm reminder?",
              "options": [
                {
                  "key": "remind",
                  "label": "Send a firm reminder",
                  "detail": "Denali drafts it from your template and sends it"
                },
                {
                  "key": "call",
                  "label": "I'll call them",
                  "detail": "Denali holds off and notes it"
                },
                {
                  "key": "leave",
                  "label": "Leave it",
                  "detail": "Nothing happens",
                  "effect": "decline"
                }
              ]
            }
          }
        }
      ]
    },
    {
      "key": "kenai",
      "name": "Kenai",
      "job": "Support: replies, refunds within limits",
      "breed": "kleekai",
      "coat": "ember",
      "tagline": "Answers customers fast and fixes what's ours to fix.",
      "persona": "You're kind and direct. You answer from the help docs, own our mistakes, and refund within your limit without fuss. Anything about a bug goes to the team.",
      "rules": {
        "justDo": [
          "Answer how-to questions from the help docs",
          "Refunds up to $50"
        ],
        "ask": [
          "Refunds over $50",
          "Anything about a bug or outage"
        ],
        "never": [
          "Share another customer's data",
          "Promise a feature date"
        ]
      },
      "routines": [
        {
          "title": "Support queue sweep",
          "when": "weekdays 09:00"
        }
      ],
      "connectors": [
        "zendesk",
        "stripe",
        "gmail"
      ],
      "watches": [
        {
          "title": "Refund requests over $50",
          "source": {
            "type": "app",
            "app": "gmail",
            "action": "GMAIL_FETCH_EMAILS",
            "input": {
              "query": "refund newer_than:2d",
              "max_results": 25
            }
          },
          "every": "15m",
          "condition": "a customer asks for a refund of more than $50",
          "then": {
            "decide": {
              "kind": "spend",
              "title": "Refund it?",
              "options": [
                {
                  "key": "refund",
                  "label": "Refund it",
                  "detail": "Kenai refunds it and replies"
                },
                {
                  "key": "reply",
                  "label": "Reply first",
                  "detail": "Kenai asks for the order details, no refund yet"
                },
                {
                  "key": "leave",
                  "label": "Leave it",
                  "detail": "Nothing happens",
                  "effect": "decline"
                }
              ]
            }
          }
        }
      ]
    },
    {
      "key": "yukon",
      "name": "Yukon",
      "job": "Website and SEO: pages, posts, reports",
      "breed": "husky",
      "coat": "aurora",
      "tagline": "Keeps the site right and the posts coming.",
      "persona": "You're thorough and plain-spoken. You keep pages correct, write posts that answer what customers ask, and report what's moving in search every Monday.",
      "rules": {
        "justDo": [
          "Fix typos and broken links",
          "Post the weekly SEO report to the team"
        ],
        "ask": [
          "Publish a page or post",
          "Change pricing on the site"
        ],
        "never": [
          "Change the domain or DNS",
          "Remove a page"
        ]
      },
      "routines": [
        {
          "title": "SEO report",
          "when": "mon 08:00"
        }
      ],
      "connectors": [
        "webflow",
        "slack"
      ]
    }
  ],
  "dashboard": {
    "views": [
      {
        "type": "decide",
        "title": "Decide"
      },
      {
        "type": "metrics",
        "title": "This week",
        "items": [
          {
            "label": "Decisions made",
            "source": "ledger",
            "match": {
              "status": [
                "approved",
                "declined",
                "auto"
              ],
              "since": "week"
            }
          },
          {
            "label": "Done under a rule",
            "source": "ledger",
            "match": {
              "status": "auto",
              "since": "week"
            }
          },
          {
            "label": "Sent",
            "source": "ledger",
            "match": {
              "kind": "send",
              "status": [
                "approved",
                "auto"
              ],
              "since": "week"
            }
          },
          {
            "label": "Sessions",
            "source": "sessions",
            "match": {
              "since": "week"
            }
          }
        ]
      },
      {
        "type": "board",
        "title": "Work",
        "columns": [
          "queued",
          "running",
          "needs_you",
          "done"
        ]
      },
      {
        "type": "ledger",
        "title": "Ledger"
      },
      {
        "type": "schedule",
        "title": "Scheduled"
      },
      {
        "type": "computer",
        "title": "Computer"
      }
    ]
  },
  "workflows": [
    "morning-inbox-triage",
    "new-lead-intro",
    "invoice-chase"
  ],
  "sample": {
    "decisions": [
      {
        "dog": "kodiak",
        "kind": "update",
        "status": "pending",
        "agoMinutes": 22,
        "title": "12 CRM updates from today's calls. Apply them?",
        "summary": "From four calls today: 4 stage changes, 3 next steps, 2 new contacts and 3 field updates. One looks wrong, so it's flagged.",
        "source": "HubSpot · 4 calls today",
        "items": [
          {
            "label": "Northwind Traders",
            "field": "Deal stage",
            "from": "Discovery",
            "to": "Proposal"
          },
          {
            "label": "Northwind Traders",
            "field": "Next step",
            "to": "Send the proposal by Friday"
          },
          {
            "label": "Lumen Labs",
            "field": "Deal stage",
            "from": "Proposal",
            "to": "Negotiation"
          },
          {
            "label": "Lumen Labs",
            "field": "Amount",
            "from": "$18,000",
            "to": "$24,000"
          },
          {
            "label": "Lumen Labs",
            "field": "Next step",
            "to": "Security review call on Tuesday"
          },
          {
            "label": "Harbor & Pine",
            "field": "Deal stage",
            "from": "Negotiation",
            "to": "Closed won"
          },
          {
            "label": "Harbor & Pine",
            "field": "Close date",
            "from": "30 Nov",
            "to": "Today"
          },
          {
            "label": "Harbor & Pine",
            "field": "Next step",
            "to": "Kickoff call on Monday"
          },
          {
            "label": "Brightline Dental",
            "field": "Deal stage",
            "from": "Discovery",
            "to": "Closed lost",
            "flagged": true
          },
          {
            "label": "Brightline Dental",
            "field": "Lost reason",
            "to": "Budget",
            "flagged": true
          },
          {
            "label": "Ana Torres",
            "field": "New contact",
            "to": "Head of Ops, Northwind · ana@northwind.example"
          },
          {
            "label": "Dev Mehta",
            "field": "New contact",
            "to": "CFO, Lumen Labs · dev@lumenlabs.example"
          }
        ],
        "options": [
          {
            "label": "Apply all 12",
            "detail": "Write every change to HubSpot now",
            "key": 1
          },
          {
            "label": "Apply 10, skip Brightline",
            "detail": "Leave Brightline Dental open in Discovery",
            "key": 2
          },
          {
            "label": "Only the stage changes",
            "detail": "Apply the 4 stage moves; skip the rest",
            "key": 3
          },
          {
            "key": 4,
            "label": "Don't apply",
            "detail": "Change nothing in HubSpot",
            "effect": "decline"
          }
        ],
        "reasoning": "All 12 come from today's call notes. Brightline is flagged: the notes say \"budget is tight until Q1\", which reads like a delay, not a loss, so I'd keep it open.",
        "evidence": [
          {
            "label": "Call notes: Northwind, 10:30"
          },
          {
            "label": "Call notes: Lumen Labs, 13:00"
          },
          {
            "label": "Call notes: Harbor & Pine, 15:15"
          },
          {
            "label": "Call notes: Brightline Dental, 16:40"
          }
        ],
        "thread": [
          {
            "from": "Kodiak",
            "text": "Pulled these from today's four calls. I'd skip Brightline: it sounds like a Q1 deal, not a lost one.",
            "agoMinutes": 22
          }
        ]
      },
      {
        "dog": "juneau",
        "kind": "book",
        "status": "pending",
        "agoMinutes": 40,
        "title": "Sarah wants a call. Book her Thursday at 2?",
        "summary": "Sarah Chen at Northwind asked for 30 minutes this week to go through the proposal. You're free Thursday 2:00–2:30.",
        "source": "Gmail · Sarah Chen, Northwind",
        "items": [
          {
            "label": "When",
            "field": "time",
            "to": "Thursday, 2:00–2:30 pm"
          },
          {
            "label": "Who",
            "field": "guests",
            "to": "Sarah Chen, {{owner}}"
          },
          {
            "label": "Where",
            "field": "location",
            "to": "Google Meet"
          }
        ],
        "options": [
          {
            "label": "Book Thursday 2:00",
            "detail": "Send the invite and reply to Sarah",
            "key": 1
          },
          {
            "label": "Offer Thursday 4:30",
            "detail": "Reply offering 4:30 instead",
            "key": 2
          },
          {
            "label": "Ask for three times",
            "detail": "Reply asking which times suit her",
            "key": 3
          },
          {
            "key": 4,
            "label": "Not now",
            "detail": "Leave it; I'll answer myself",
            "effect": "decline"
          }
        ],
        "reasoning": "She asked for \"any time Thursday afternoon\". 2:00 is your first free half hour and leaves a gap before your 3:00.",
        "evidence": [
          {
            "label": "Sarah's email, 9:12 am"
          },
          {
            "label": "Your calendar, Thursday"
          }
        ],
        "thread": [
          {
            "from": "Sarah Chen",
            "text": "Could we grab 30 minutes Thursday afternoon to go through the proposal?",
            "agoMinutes": 95
          },
          {
            "from": "Juneau",
            "text": "You're free 2:00–2:30 and 4:30–5:00. I'd take 2:00.",
            "agoMinutes": 40
          }
        ]
      },
      {
        "dog": "sitka",
        "kind": "spend",
        "status": "pending",
        "agoMinutes": 15,
        "expiresInMinutes": 300,
        "title": "Hold the 7:05 flight to Austin for the offsite? $386 each",
        "summary": "Two refundable seats on Thursday's 7:05 am nonstop to Austin. The airline holds them free until 6 pm today.",
        "source": "Offsite planning · Sitka",
        "items": [
          {
            "label": "Flight",
            "field": "route",
            "to": "SFO → AUS, Thursday 7:05 am, nonstop"
          },
          {
            "label": "Seats",
            "field": "travellers",
            "to": "{{owner}}, Jordan Lee"
          },
          {
            "label": "Fare",
            "field": "total",
            "to": "$772, refundable"
          }
        ],
        "options": [
          {
            "label": "Hold both seats",
            "detail": "Free hold until 6 pm; nothing is charged",
            "key": 1
          },
          {
            "label": "Find a later flight",
            "detail": "Look for nonstops after 10 am",
            "key": 2
          },
          {
            "key": 3,
            "label": "Not now",
            "detail": "Let the fare go",
            "effect": "decline"
          }
        ],
        "reasoning": "The 7:05 is the only nonstop that lands before the 11:00 start. A hold costs nothing and keeps today's fare.",
        "evidence": [
          {
            "label": "Offsite agenda (starts 11:00)"
          },
          {
            "label": "Fare search across 3 airlines"
          }
        ],
        "thread": [
          {
            "from": "Sitka",
            "text": "Fares on this route are up $60 since Monday. The hold locks today's price.",
            "agoMinutes": 15
          }
        ]
      },
      {
        "dog": "kodiak",
        "kind": "send",
        "status": "pending",
        "agoMinutes": 8,
        "title": "Draft 6 of 9 is ready. Send to Sean?",
        "summary": "An intro to Sean Doyle, Head of Growth at Fieldwork, from the Q4 agencies list: short, with one case study.",
        "source": "Outbound · Q4 agencies list",
        "items": [
          {
            "label": "To",
            "field": "to",
            "to": "Sean Doyle <sean@fieldwork.example>"
          },
          {
            "label": "Subject",
            "field": "subject",
            "to": "Fieldwork + {{company}}: 20 hours a week back"
          },
          {
            "label": "Body",
            "field": "body",
            "to": "Hi Sean, saw Fieldwork just opened a second studio. We helped Harbor & Pine take 20 hours a week of admin off their producers. Worth 15 minutes next week? {{owner}}"
          }
        ],
        "options": [
          {
            "label": "Send to Sean",
            "detail": "Send this one now",
            "key": 1
          },
          {
            "label": "Send this and the last 3",
            "detail": "Send drafts 6 to 9 as written",
            "key": 2
          },
          {
            "key": 3,
            "label": "Skip Sean",
            "detail": "Don't send; move on to draft 7",
            "effect": "decline"
          }
        ],
        "reasoning": "Sean posted about hiring two producers last week, which is the problem we solve, and he's never been contacted before.",
        "evidence": [
          {
            "label": "Sean's LinkedIn post, 5 days ago"
          },
          {
            "label": "CRM: no earlier contact"
          }
        ],
        "thread": [
          {
            "from": "Kodiak",
            "text": "Five sent today, two opened. This is the strongest of the four left.",
            "agoMinutes": 8
          }
        ]
      },
      {
        "dog": "kenai",
        "kind": "spend",
        "status": "pending",
        "agoMinutes": 60,
        "title": "Refund $240 to Maya Patel? It's over your $50 limit.",
        "summary": "Maya was charged twice for the annual plan on 28 Oct. The second charge, $240, is a duplicate.",
        "source": "Support · Ticket #4182",
        "items": [
          {
            "label": "Customer",
            "field": "customer",
            "to": "Maya Patel · maya@patelstudio.example"
          },
          {
            "label": "Charge",
            "field": "charge",
            "to": "$240 on 28 Oct (duplicate)"
          },
          {
            "label": "Refund",
            "field": "amount",
            "to": "$240 to the original card"
          }
        ],
        "options": [
          {
            "label": "Refund $240",
            "detail": "Refund the duplicate charge in Stripe",
            "key": 1
          },
          {
            "label": "Refund and add a free month",
            "detail": "Refund it and extend her plan a month",
            "key": 2
          },
          {
            "key": 3,
            "label": "Not now",
            "detail": "Leave it with me",
            "effect": "decline"
          }
        ],
        "reasoning": "Stripe shows two identical charges 41 seconds apart, the second from a retried checkout. It's our mistake, so a full refund is right; it's only over the limit because of the plan's price.",
        "evidence": [
          {
            "label": "Stripe: two charges, 41 seconds apart"
          },
          {
            "label": "Ticket #4182"
          }
        ],
        "thread": [
          {
            "from": "Maya Patel",
            "text": "I've been charged twice for the annual plan. Can you refund one?",
            "agoMinutes": 130
          },
          {
            "from": "Kenai",
            "text": "Confirmed in Stripe. It needs you because it's over $50.",
            "agoMinutes": 60
          }
        ]
      },
      {
        "dog": "yukon",
        "kind": "publish",
        "status": "pending",
        "agoMinutes": 180,
        "title": "Publish \"How we price custom work\"? The draft is ready.",
        "summary": "1,100 words for the blog with a pricing table and an FAQ, aimed at \"custom software pricing\" (about 1,300 searches a month).",
        "source": "Webflow · Blog drafts",
        "items": [
          {
            "label": "Page",
            "field": "url",
            "to": "/blog/how-we-price-custom-work"
          },
          {
            "label": "Title",
            "field": "title",
            "to": "How we price custom work (and why it isn't hourly)"
          }
        ],
        "options": [
          {
            "label": "Publish now",
            "detail": "",
            "key": 1
          },
          {
            "label": "Publish Monday at 9",
            "detail": "Schedule it for Monday morning",
            "key": 2
          },
          {
            "key": 3,
            "label": "Not yet",
            "detail": "Keep it as a draft",
            "effect": "decline"
          }
        ],
        "reasoning": "It answers the question sales hears most. Monday mornings get the most blog traffic, but now is fine too.",
        "evidence": [
          {
            "label": "Search Console: \"custom software pricing\""
          },
          {
            "label": "Sales FAQ doc"
          }
        ],
        "thread": [
          {
            "from": "Yukon",
            "text": "Cut it to length and added the FAQ markup. Ready when you are.",
            "agoMinutes": 180
          }
        ]
      },
      {
        "dog": "nome",
        "kind": "book",
        "status": "pending",
        "agoMinutes": 240,
        "title": "3 strong candidates for Ops Lead. Book first calls?",
        "summary": "Shortlisted from 41 applicants. Each gets a 30-minute call this week in one of your open slots.",
        "source": "Recruiting · Ops Lead",
        "items": [
          {
            "label": "Priya Raman",
            "field": "Wednesday 10:00",
            "to": "6 years running ops at a 40-person agency"
          },
          {
            "label": "Marcus Bell",
            "field": "Wednesday 3:30",
            "to": "Ran ops at two startups through Series A"
          },
          {
            "label": "Lena Fischer",
            "field": "Thursday 11:00",
            "to": "Ops and finance, remote, starts in 4 weeks"
          }
        ],
        "options": [
          {
            "label": "Book all 3",
            "detail": "",
            "key": 1
          },
          {
            "label": "Book Priya and Marcus",
            "detail": "",
            "key": 2
          },
          {
            "key": 3,
            "label": "Not yet",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "All three meet every must-have: managing people, owning the tools, five or more years. Priya is the closest fit.",
        "evidence": [
          {
            "label": "Shortlist notes"
          },
          {
            "label": "Job post: Ops Lead"
          }
        ],
        "thread": [
          {
            "from": "Nome",
            "text": "41 applied; 3 meet every must-have. Notes on each are in the shortlist.",
            "agoMinutes": 240
          }
        ]
      },
      {
        "dog": "juneau",
        "kind": "update",
        "status": "auto",
        "agoMinutes": 305,
        "decidedAgoMinutes": 305,
        "chosen": 1,
        "decidedBy": {
          "kind": "rule",
          "name": "Just do: Archive newsletters and receipts"
        },
        "title": "Archive 23 newsletters and receipts",
        "summary": "Newsletters, receipts and notifications from overnight.",
        "source": "Gmail · Morning triage",
        "options": [
          {
            "label": "Archive all 23",
            "detail": "",
            "key": 1
          },
          {
            "key": 2,
            "label": "Leave them",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "All 23 are from senders you never reply to.",
        "outcome": {
          "status": "good",
          "note": "Nothing in them needed you.",
          "checkedAgoMinutes": 120
        }
      },
      {
        "dog": "kodiak",
        "kind": "send",
        "status": "approved",
        "agoMinutes": 4330,
        "decidedAgoMinutes": 4300,
        "chosen": 1,
        "decidedBy": {
          "kind": "person",
          "name": "{{owner}}"
        },
        "title": "Send the intro to Priya at Lumen Labs?",
        "summary": "A first email to Priya Shah, COO at Lumen Labs, about their new ops hire.",
        "source": "Outbound · Fintech list",
        "options": [
          {
            "label": "Send it",
            "detail": "",
            "key": 1
          },
          {
            "key": 2,
            "label": "Don't send",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "Lumen Labs just raised and is hiring three ops roles, which is the work we take off teams.",
        "evidence": [
          {
            "label": "Lumen Labs funding news"
          }
        ],
        "outcome": {
          "status": "good",
          "note": "She replied the same day and booked a call.",
          "checkedAgoMinutes": 2880
        }
      },
      {
        "dog": "denali",
        "kind": "send",
        "status": "approved",
        "agoMinutes": 1500,
        "decidedAgoMinutes": 1480,
        "chosen": 1,
        "decidedBy": {
          "kind": "person",
          "name": "{{owner}}"
        },
        "title": "Chase 3 overdue invoices ($7,450)?",
        "summary": "Friendly reminders to three customers, one of them 34 days late.",
        "source": "QuickBooks · Overdue invoices",
        "items": [
          {
            "label": "Invoice 1041 · Harbor & Pine",
            "field": "amount",
            "to": "$4,200 · 12 days late"
          },
          {
            "label": "Invoice 1037 · Fieldwork",
            "field": "amount",
            "to": "$2,100 · 34 days late"
          },
          {
            "label": "Invoice 1044 · Brightline Dental",
            "field": "amount",
            "to": "$1,150 · 6 days late"
          }
        ],
        "options": [
          {
            "label": "Send all three",
            "detail": "",
            "key": 1
          },
          {
            "label": "Only the one over 30 days",
            "detail": "",
            "key": 2
          },
          {
            "key": 3,
            "label": "Not now",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "All three are past due with no reply to the invoice email.",
        "outcome": {
          "status": "pending",
          "note": "",
          "checkInMinutes": 2880
        }
      },
      {
        "dog": "kenai",
        "kind": "spend",
        "status": "declined",
        "agoMinutes": 2900,
        "decidedAgoMinutes": 2880,
        "chosen": 3,
        "decidedBy": {
          "kind": "person",
          "name": "{{owner}}"
        },
        "title": "Refund $180 outside the 30-day window?",
        "summary": "A customer asked for a refund 47 days after buying the starter pack.",
        "source": "Support · Ticket #4120",
        "options": [
          {
            "label": "Refund $180",
            "detail": "",
            "key": 1
          },
          {
            "label": "Offer a $50 credit",
            "detail": "",
            "key": 2
          },
          {
            "key": 3,
            "label": "Decline politely",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "It's outside the policy, but they barely used it. Your call.",
        "outcome": {
          "status": "unknown",
          "note": "They haven't replied.",
          "checkedAgoMinutes": 600
        }
      },
      {
        "dog": "sitka",
        "kind": "book",
        "status": "approved",
        "agoMinutes": 5800,
        "decidedAgoMinutes": 5790,
        "chosen": 1,
        "decidedBy": {
          "kind": "person",
          "name": "{{owner}}"
        },
        "title": "Move Friday's team sync to 3 pm?",
        "summary": "Two people have a client call at 11; 3 pm works for everyone.",
        "source": "Google Calendar · Team sync",
        "options": [
          {
            "label": "Move it to 3 pm",
            "detail": "",
            "key": 1
          },
          {
            "key": 2,
            "label": "Keep it at 11",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "It's the only slot this Friday with all six free.",
        "outcome": {
          "status": "good",
          "note": "Everyone made it.",
          "checkedAgoMinutes": 4000
        }
      },
      {
        "dog": "yukon",
        "kind": "update",
        "status": "auto",
        "agoMinutes": 3000,
        "decidedAgoMinutes": 3000,
        "chosen": 1,
        "decidedBy": {
          "kind": "rule",
          "name": "Just do: Fix typos and broken links"
        },
        "title": "Fix 4 broken links on /pricing",
        "summary": "Four links to an old help article now point at the new one.",
        "source": "Webflow · Link check",
        "options": [
          {
            "label": "Fix all 4",
            "detail": "",
            "key": 1
          },
          {
            "key": 2,
            "label": "Leave them",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "The old article was moved in October; each link 404s.",
        "outcome": {
          "status": "good",
          "note": "No 404s on /pricing since.",
          "checkedAgoMinutes": 1500
        }
      },
      {
        "dog": "nome",
        "kind": "send",
        "status": "approved",
        "agoMinutes": 1700,
        "decidedAgoMinutes": 1650,
        "typed": "Hold them until Monday. I want to look at two of them myself.",
        "decidedBy": {
          "kind": "person",
          "name": "{{owner}}"
        },
        "title": "Reject 11 applicants who need visa sponsorship?",
        "summary": "A short, kind rejection to 11 applicants for Ops Lead who need sponsorship we can't offer.",
        "source": "Recruiting · Ops Lead",
        "options": [
          {
            "label": "Send all 11",
            "detail": "",
            "key": 1
          },
          {
            "key": 2,
            "label": "Not yet",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "The post says the role can't sponsor visas; each of the 11 said they need one.",
        "outcome": {
          "status": "pending",
          "note": "",
          "checkInMinutes": 4320
        }
      },
      {
        "dog": "kodiak",
        "kind": "send",
        "status": "approved",
        "agoMinutes": 8700,
        "decidedAgoMinutes": 8640,
        "chosen": 1,
        "decidedBy": {
          "kind": "person",
          "name": "{{owner}}"
        },
        "title": "Follow up with 5 leads who opened but didn't reply?",
        "summary": "A two-line nudge to five people who opened the intro at least twice.",
        "source": "Outbound · Q4 agencies list",
        "options": [
          {
            "label": "Send all 5",
            "detail": "",
            "key": 1
          },
          {
            "key": 2,
            "label": "Not now",
            "detail": "",
            "effect": "decline"
          }
        ],
        "reasoning": "Opening twice usually means interest; a short nudge after a week is polite.",
        "outcome": {
          "status": "bad",
          "note": "No replies after five days.",
          "checkedAgoMinutes": 1440
        }
      }
    ],
    "sessions": [
      {
        "dog": "juneau",
        "title": "Morning inbox triage",
        "status": "done",
        "agoMinutes": 320,
        "minutes": 18,
        "costCents": 4,
        "steps": [
          {
            "kind": "look",
            "text": "Opened Gmail on screen 2: 64 new since 6 pm."
          },
          {
            "kind": "think",
            "text": "23 are newsletters and receipts, 4 need replies I can draft, 1 needs you: Sarah wants a call."
          },
          {
            "kind": "act",
            "text": "Archived 23 under your rule and drafted 4 replies."
          },
          {
            "kind": "result",
            "text": "Inbox at 6. One card in Decide: Sarah's call."
          }
        ]
      },
      {
        "dog": "kodiak",
        "title": "Call notes to CRM",
        "status": "needs_you",
        "agoMinutes": 30,
        "costCents": 6,
        "steps": [
          {
            "kind": "look",
            "text": "Read the notes from today's 4 calls in HubSpot."
          },
          {
            "kind": "think",
            "text": "12 changes: 4 stage moves, 3 next steps, 2 new contacts, 3 field updates. Brightline reads like a delay, not a loss."
          },
          {
            "kind": "act",
            "text": "Prepared the 12 updates and flagged Brightline."
          },
          {
            "kind": "result",
            "text": "Waiting for you in Decide."
          }
        ]
      },
      {
        "dog": "yukon",
        "title": "Weekly SEO report",
        "status": "running",
        "agoMinutes": 6,
        "costCents": 2,
        "steps": [
          {
            "kind": "look",
            "text": "Pulling last week from Search Console on screen 7."
          },
          {
            "kind": "think",
            "text": "Clicks are up 12%; \"custom software pricing\" has climbed to position 14."
          }
        ]
      },
      {
        "dog": "denali",
        "title": "Match receipts to card charges",
        "status": "done",
        "agoMinutes": 1440,
        "minutes": 25,
        "costCents": 5,
        "steps": [
          {
            "kind": "look",
            "text": "Read last week's 38 card charges."
          },
          {
            "kind": "act",
            "text": "Matched 35 to receipts in Gmail under your rule."
          },
          {
            "kind": "result",
            "text": "3 receipts missing; asked the team for them in Slack."
          }
        ]
      },
      {
        "dog": "kenai",
        "title": "Support queue sweep",
        "status": "queued",
        "agoMinutes": 2,
        "steps": []
      },
      {
        "dog": "sitka",
        "title": "Daily brief",
        "status": "done",
        "agoMinutes": 285,
        "minutes": 6,
        "costCents": 3,
        "steps": [
          {
            "kind": "look",
            "text": "Read Decide, today's calendar and yesterday's sessions."
          },
          {
            "kind": "think",
            "text": "7 decisions wait; the flights hold runs out at 6 pm, so it goes first."
          },
          {
            "kind": "result",
            "text": "Posted the brief in #general (your rule: write the daily brief)."
          }
        ]
      }
    ],
    "messages": [
      {
        "dog": "sitka",
        "role": "dog",
        "text": "Morning, {{owner}}. Seven things need you today; the flights hold runs out at 6 pm, so I put it first.",
        "agoMinutes": 284
      },
      {
        "dog": "juneau",
        "role": "dog",
        "text": "Inbox is at 6. I archived 23 and drafted replies to the four that need you.",
        "agoMinutes": 300
      },
      {
        "dog": "kodiak",
        "role": "user",
        "text": "How did outreach go today?",
        "agoMinutes": 12
      },
      {
        "dog": "kodiak",
        "role": "dog",
        "text": "Five intros sent, two opened. Draft 6 is for Sean at Fieldwork; it's in Decide.",
        "agoMinutes": 11
      },
      {
        "dog": "nome",
        "role": "dog",
        "text": "The Ops Lead shortlist is ready: 3 of 41 meet every must-have.",
        "agoMinutes": 238
      },
      {
        "dog": "denali",
        "role": "dog",
        "text": "Three invoices are overdue, $7,450 in all. I chased them yesterday and I'll check on Thursday.",
        "agoMinutes": 1400
      },
      {
        "dog": "kenai",
        "role": "dog",
        "text": "Maya Patel was charged twice. The refund is over your $50 limit, so it's in Decide.",
        "agoMinutes": 58
      },
      {
        "dog": "yukon",
        "role": "dog",
        "text": "The pricing post is ready to publish. Clicks were up 12% last week.",
        "agoMinutes": 170
      }
    ]
  }
}
