Free OpenClaw skill · No signup · v1.0.0

Free OpenClaw Skill for Coffee Shops and Cafes: Loyalty and Wholesale Agent (Download)

A working OpenClaw skill for independent coffee shops and small cafe chains. Owns loyalty re-engagement across Toast Loyalty, Square Loyalty, and Joe Coffee, wholesale roaster lead outreach, espresso machine service tracking, and 7shifts schedule guardrails.

Built and maintained by Adhiraj Hangal, OpenClaw Consult. Code I wrote runs inside OpenClaw's source, merged by the project's creator.

Free OpenClaw skill for coffee shops

13 KB file. Free for any use. Drop it into your OpenClaw setup and your agent knows your business in 60 seconds.

v1.0.0

We email you a copy plus the install notes. One email, no list, no spam.

What this skill does for your coffee shops

  • Re-engages lapsed loyalty members across Toast Loyalty, Square Loyalty, and Joe Coffee with a 14, 30, 60-day cadence keyed to their last drink type and visit pattern.
  • Drafts the wholesale roaster outreach for new office, cafe, and restaurant accounts in your delivery zone, with the standard pricing tiers and minimum-order language.
  • Tracks espresso machine service (La Marzocco, Slayer, Mavam, Synesso) with the daily backflush, weekly group head clean, and quarterly preventive maintenance reminders.
  • Audits the 7shifts schedule against historical sales-per-labor-hour and flags overstaffed or understaffed shifts before the manager runs payroll.
  • Coordinates the Odeko (or alternative supplier) ordering cadence so the cafe never runs out of milk, paper cups, or syrup mid-shift.

What's inside this OpenClaw skill

The full file you download, indexed below for search engines and for operators who want to read before they install.

---
name: coffee-shop-loyalty-and-wholesale
description: Loyalty re-engagement, wholesale roaster outreach, espresso machine service tracking, and 7shifts schedule audit for coffee shops and cafes. Integrates with Toast, Square Loyalty, Joe Coffee, Odeko.
version: 1.0.0
author: OpenClaw Consult (Adhiraj Hangal)
license: MIT
url: https://openclawconsult.com/skills/coffee-shops-cafes
---

# OpenClaw Skill: Coffee Shop Loyalty and Wholesale Agent

## Overview

This skill turns the OpenClaw agent into the loyalty, supplier, wholesale,
and equipment-maintenance layer for an independent coffee shop or small cafe
chain. It owns loyalty re-engagement, wholesale roaster outreach, espresso
machine service scheduling, Odeko ordering cadence, and 7shifts schedule
audits.

It is designed for single-shop independents and small chains (1 to 6 shops),
on Toast or Square, with Toast Loyalty, Square Loyalty, or Joe Coffee for
rewards, and Odeko for milk and supplies.

## What this skill does

1. Re-engages lapsed loyalty members across Toast, Square, Joe Coffee
2. Drafts wholesale roaster outreach to new accounts in the delivery zone
3. Tracks espresso machine service (La Marzocco, Slayer, Mavam, Synesso)
4. Audits the 7shifts schedule against historical sales-per-labor-hour
5. Coordinates Odeko (or alternative) ordering cadence
6. Routes wholesale over 5 lb/week, custom blends, and major espresso
   machine service to a human

## Triggers

```yaml
triggers:
  - type: heartbeat
    schedule: "0 6 * * *"           # Daily 6am
    action: prep_opening_checklist_and_machine_maintenance

  - type: heartbeat
    schedule: "0 21 * * *"          # Daily 9pm
    action: prep_closing_checklist_and_loyalty_followups

  - type: heartbeat
    schedule: "0 9 * * 1"           # Mondays 9am
    action: compile_lapsed_loyalty_re_engagement

  - type: heartbeat
    schedule: "0 14 * * 3"          # Wednesdays 2pm
    action: audit_next_week_7shifts_schedule

  - type: on_event
    event: pos.daily_close
    action: compile_sales_per_labor_hour

  - type: on_event
    event: inventory.low_threshold
    action: draft_odeko_order
```

## Workflow: loyalty re-engagement

Each Monday the agent pulls the lapsed loyalty list and segments by days
since last visit:

- 14 days: light touch, single SMS, no offer
- 30 days: re-engagement target, BOGO on their most-ordered drink
- 60 days: sunset offer, free drink of choice with the message that we miss
  seeing them
- 90 days: dormant, single annual touchpoint then sunset out of active list

Each draft references the customer's most-ordered drink (latte, cortado,
drip, cold brew, matcha, etc.) and their typical visit time-of-day to make
the message specific rather than generic.

## Workflow: wholesale roaster outreach

For shops that roast or co-roast, the skill drafts wholesale outreach to:

- Offices in the delivery zone (typically 2-10 lb/week)
- Cafes that do not roast their own
- Restaurants needing coffee service
- Bakeries running coffee programs
- Hotels and short-term rental operators

The standard package includes pricing tiers (under 5 lb/week, 5-20, 20+),
minimum order, delivery cadence, and a tasting offer. The skill will not
promise a custom blend without the head roaster's sign-off.

## Workflow: espresso machine service tracking

The skill ships a maintenance schedule for the common machines. For a La
Marzocco Linea PB:

- Daily: backflush each group, wipe steam wands, empty drip tray, replace
  shower screens
- Weekly: deep group head clean with Cafiza or equivalent, steam wand strip
- Monthly: water filter pressure check, descaling check
- Quarterly: replace group head gaskets, full descale, calibrate pressure
- Annual: tech visit (Espresso Parts, La Marzocco Home, or your local tech)

For Slayer Espresso, Mavam, and Synesso the schedule is similar with
machine-specific variations. The skill posts each task to the closing or
opening checklist on its scheduled day.

## Workflow: Odeko (or alternative) ordering

The skill maintains a per-SKU consumption model:

- Milk by type (whole, 2%, oat, almond, soy)
- Cups, lids, sleeves by size
- Syrups (vanilla, caramel, hazelnut, brown sugar, etc.)
- Espresso beans by blend
- Paper goods (napkins, stir sticks, sweetener)
- Cleaning supplies

For each, the skill tracks consumption from the POS sales mix and flags
when on-hand inventory will run out before the next Odeko delivery window.
The skill drafts the next order; the manager approves and submits through
Odeko's interface.

Most shops do 2-3 Odeko deliveries per week. The skill aims to keep
on-hand at 1.3x the inter-delivery consumption so the shop never runs out
mid-shift.

## Workflow: 7shifts schedule audit

Each Wednesday the agent reviews the posted schedule for the upcoming week:

1. Pulls the schedule from 7shifts
2. Pulls historical sales-per-labor-hour for the same day-of-week and
   weather forecast
3. Compares posted labor hours to historical "good shift" labor hours
4. Flags overstaffed shifts (more than 1.5 hours over historical good)
5. Flags understaffed shifts (projected sales/labor would push above 80,
   the "too thin" threshold)
6. Sends the audit to the manager with suggested cuts or adds

The manager makes the call. The skill surfaces the data and the suggestion.

## Workflow: opening and closing checklists

The skill auto-generates the day's opening checklist (machine heat-up,
grinder calibration with morning shot times, pastry case stock check) and
closing checklist (cash drop, sanitation, machine backflush, fridge
temperature log) with the machine maintenance items inserted on their
scheduled day.

The barista checks off items in the app; the skill logs completion.

## Memory keys

```yaml
memory:
  - key: cafe.loyalty_member[{customer_id}]
    description: Loyalty member profile and last visit
    schema: { most_ordered_drink: string, typical_time_of_day: string, days_since_last_visit: int, ltv: number, segment: string }

  - key: cafe.machine_service[{machine_id}]
    description: Espresso machine service log
    schema: { machine_model: string, last_daily_backflush: date, last_weekly_clean: date, last_quarterly_pm: date, next_tech_visit: date }

  - key: cafe.odeko_inventory[{sku}]
    description: SKU consumption and on-hand
    schema: { sku_name: string, consumption_per_day: number, on_hand: number, runs_out_date: date }

  - key: cafe.labor_log[{date}]
    description: Daily sales-per-labor-hour
    schema: { date: date, total_sales: number, labor_hours: number, sales_per_labor_hour: number, day_of_week: string }

  - key: cafe.wholesale_lead[{lead_id}]
    description: Wholesale account pipeline state
    values: [cold, outreach_sent, tasting_scheduled, tasting_held, contract_drafted, active, dormant]
```

## Message templates

```yaml
templates:
  loyalty_re_engagement_30d:
    channel: sms
    body: |
      Hey {customer_first_name}, it's {cafe_first_name} from {cafe_name}.
      We have not seen you in a few weeks. Your usual {most_ordered_drink}
      misses you. This week only: buy one {most_ordered_drink}, get one
      free. Just show this text at the counter.

  loyalty_re_engagement_60d_no_strings:
    channel: sms
    body: |
      Hey {customer_first_name}, it's {cafe_first_name}. It has been a bit
      and we just wanted to say hi. Whenever you swing back through, your
      next drink is on us. No code, just tell whoever is on bar.

  wholesale_cold_office:
    channel: email
    subject: "Coffee for the {prospect_company_name} office"
    body: |
      Hi {prospect_first_name},

      I run wholesale for {cafe_name} (the cafe over on {neighborhood}). We
      roast small-batch and deliver to office accounts in {delivery_zone}.

      A standard office account for a team your size (around {team_size_est})
      runs about {est_weekly_lb} pounds per week. Pricing at that volume is
      {price_per_lb} per pound, minimum order {min_order} pounds, delivery
      {delivery_cadence}.

      Happy to drop off a free tasting box if you want to try a couple of
      our blends before committing. Reply with a good day for that and I
      will swing by.

      {wholesale_first_name}
      {cafe_name}

  odeko_order_draft:
    channel: internal_doc
    body: |
      Draft Odeko order for {delivery_date}:

      Milk:
      - Whole: {whole_qty} (current on-hand {whole_on_hand}, consumption
        {whole_daily}/day)
      - Oat: {oat_qty}
      - 2%: {2pct_qty}

      Cups and lids:
      {cups_and_lids_list}

      Syrups:
      {syrups_list}

      Paper goods:
      {paper_goods_list}

      Total estimated: {order_total}

  espresso_machine_quarterly_pm:
    channel: internal_doc
    body: |
      QUARTERLY PM today for the {machine_model} ({machine_name}).

      Tasks:
      1. Replace group head gaskets (have {gasket_count} on hand)
      2. Full descale with {descale_product}
      3. Pressure calibration check (target {target_psi} PSI)
      4. Steam boiler pressure check (target {steam_boiler_psi})
      5. Water filter pressure check, replace if pressure drop > 10 PSI

      Allow {expected_duration} for the full PM. Schedule before opening
      tomorrow or after closing today.

  labor_audit_overstaffed:
    channel: sms
    body: |
      Schedule audit for week of {week_starting}: {day_of_week} morning
      shows {scheduled_hours} hours but historical good for this weather
      and day is {historical_good_hours}. Consider cutting {suggested_cut}.
      Projected sales/labor would land at {projected_spl}.
```

## Required integrations

| Integration            | Purpose                                       | Read | Write    |
|------------------------|-----------------------------------------------|------|----------|
| Toast                  | POS sales, loyalty                            | yes  | optional |
| Square                 | POS sales, loyalty                            | yes  | optional |
| Joe Coffee             | Loyalty member data                           | yes  | optional |
| Odeko                  | Ordering inbox / dashboard                    | yes  | yes      |
| 7shifts                | Schedule and labor data                       | yes  | no       |
| Twilio (or similar)    | Outbound SMS                                  | no   | yes      |
| Email provider         | Outbound email                                | no   | yes      |
| OpenClaw Memory        | Cross-run state                               | yes  | yes      |
| OpenClaw Heartbeat     | Scheduled cadence triggers                    | yes  | yes      |

Joe Coffee integration depends on the merchant's plan; some data exports
require a CSV. Odeko ordering is a draft-and-submit through the Odeko
interface; the skill prepares the order rather than auto-submitting.

## Equipment safety notes

The skill will not draft maintenance steps that involve the boiler, the
pressure relief valve, or the high-voltage side of an espresso machine.
Those are tech visits. The skill schedules the tech visit and notifies the
manager.

The closing checklist's machine backflush items follow the manufacturer's
official documentation for the specific machine model. La Marzocco Linea
PB instructions differ from a Slayer Steam; the skill uses the right
sequence for the machine on file.

## Configuration

```yaml
config:
  cafe_name: "Your Cafe"
  approval_mode: manager_approves_all   # or "autonomous_after_2_weeks"
  loyalty_platform: "joe_coffee"   # or "toast_loyalty", "square_loyalty"
  loyalty_segments:
    - segment: "14_day_lapsed"
      cadence: "light_touch"
    - segment: "30_day_lapsed"
      cadence: "bogo_on_most_ordered"
    - segment: "60_day_lapsed"
      cadence: "free_drink_no_strings"
  espresso_machines:
    - machine_id: 1
      model: "La Marzocco Linea PB"
      install_date: "2024-03-01"
      last_quarterly_pm: "2026-02-15"
  odeko_categories:
    - whole_milk
    - oat_milk
    - 2pct_milk
    - 12oz_paper_cup
    - 16oz_paper_cup
    - vanilla_syrup
  7shifts_target_sales_per_labor_hour: 65
  wholesale_pricing_tiers:
    - tier: "under_5lb_per_week"
      price_per_lb: 22
    - tier: "5_to_20lb_per_week"
      price_per_lb: 18
    - tier: "20plus_lb_per_week"
      price_per_lb: 15
```

## Quick install

```bash
mkdir -p ~/.claude/skills
mv coffee-shops-cafes.md ~/.claude/skills/coffee-shop-loyalty-and-wholesale.md
# Edit the config block to match your cafe
```

Launch OpenClaw and the skill is live. Run `compile lapsed loyalty
re-engagement`, `audit next week 7shifts schedule`, or `draft odeko order`
to invoke it on demand, or wait for Heartbeat.

## Want it wired to your stack?

This SKILL.md is the starting point. If you want it plugged into your specific
POS, loyalty platform, supplier feeds, machine roster, and brand voice on a
fixed-price two-week clock, with the founder writing every line of the
build, the door is at https://www.adhirajhangal.com/work

Install in 60 seconds

  1. 1

    Drop the file into your OpenClaw skills directory

    Save the downloaded coffee-shops-cafes.md as ~/.claude/skills/coffee-shop-loyalty-and-wholesale.md (or scope it in your project-level .claude/skills/). OpenClaw picks up new skill files on next agent launch.

  2. 2

    Connect Toast, Square Loyalty, Joe Coffee, Odeko, and 7shifts

    Edit the integrations block to point at your Toast or Square account for sales and loyalty data, your Joe Coffee dashboard if applicable, your Odeko ordering inbox, and your 7shifts schedule API. Read access is enough to start.

  3. 3

    Launch in approval mode, then move to autonomous on safe templates

    Start with the manager approving every loyalty re-engagement push, wholesale outreach, and supplier order for two weeks. The skill's defaults route wholesale accounts over 5 lbs/week, custom blend requests, and any espresso machine service over $500 to a human. After two weeks, flip the daily backflush and small-bag loyalty re-engagements to autonomous.

Example conversation

You

Pull the lapsed loyalty list and draft the 30-day re-engagement.

Agent

Loyalty pull complete from Toast Loyalty: 412 members in the 14-60 day lapsed window. Segmented: 184 at 14 days (likely just busy, light touch), 142 at 30 days (re-engagement target), 86 at 60 days (sunset offer). Drafted 142 personalized SMS for the 30-day group, each referencing their most-ordered drink (latte, cortado, drip, cold brew) and offering a buy-one-get-one on that specific drink valid through Sunday. Routed for your sign-off. The 86 at 60 days got a different draft: a free drink of choice, no string attached, with the message that we miss seeing them. Espresso machine: La Marzocco PB needs the weekly group head clean tonight, draft posted to the closing checklist.

Founder-led · 14 days

Want this loyalty and wholesale agent live in your coffee shop or cafe in 14 days?

Adhiraj ships OpenClaw AI agents into real businesses. Short discovery to map it to Toast, Joe Coffee, and Odeko, build in 14 days, then optional ongoing support so your OpenClaw system keeps working.

Build it with me

Common questions

Does this work for a single-location independent or only chains?

+

Both. Most of the skill's value is at the 1-3 shop scale where the owner is doing operations, marketing, and supplier coordination at the same time. At the chain level (4+ shops), the skill scales by location with separate memory keys and shared brand voice.

Which loyalty programs does it integrate with?

+

Toast Loyalty, Square Loyalty, and Joe Coffee have native integration prompts. For Odeko Reach, Punchh, and Spendgo the skill works via CSV export or webhook. Joe Coffee is the most common at independent cafes; Toast and Square dominate the larger end.

How does the espresso machine service tracking work?

+

The skill ships a maintenance schedule for the common machines: La Marzocco (Linea, GB5, PB, KB90), Slayer, Mavam, Synesso. Daily backflush, weekly group head clean, weekly steam wand strip, monthly water filter check, quarterly preventive maintenance (replace gaskets, descale, calibrate). The skill posts each task to the closing checklist on its scheduled day and tracks completion.

Does it integrate with Odeko directly?

+

Yes, via email forwarder or the Odeko web dashboard. The skill reads your current inventory, the day's sales velocity, and the typical replenishment cadence, then drafts the next Odeko order. The manager approves the draft; Odeko receives the order through the standard channel.

Can it audit my 7shifts schedule?

+

Yes. The skill compares the posted schedule against historical sales-per-labor-hour for the same day-of-week and weather. It flags shifts that are overstaffed by more than 1.5 hours or understaffed where the projected revenue would push sales-per-labor-hour above 80. The manager makes the call; the skill surfaces the data.

What about wholesale roaster outreach?

+

If you roast or co-roast, the skill drafts cold and warm outreach to new office, cafe, and restaurant accounts in your delivery zone. Standard package: your roaster's pricing tiers (under 5 lb/week, 5-20, 20+), minimum order, delivery cadence, and a tasting offer. The skill will not promise a custom blend without the head roaster's sign-off.

Can I modify this skill?

+

Yes. MIT licensed. Edit the loyalty cadences, the espresso machine schedule, the Odeko categories, the wholesale pricing, the brand voice. Most cafes fork it inside the first month to match their drink menu and shop personality.

What does this cost to run on top of OpenClaw?

+

Token cost depends on volume. A 2-shop cafe doing 800-1,500 daily transactions sees expected monthly token spend in the $30-$80 range using OpenClaw's default model selection.

How does this compare to Joe Coffee's built-in marketing or Toast's loyalty automation?

+

Joe Coffee and Toast Loyalty are excellent at the in-app reward push and the basic SMS automation. The OpenClaw skill is the agent runtime that handles the cross-tool work: re-engagement copy tailored to the customer's most-ordered drink, Odeko ordering tied to the actual sales velocity, espresso machine service tied to the closing checklist. Most cafes keep their loyalty platform and add the skill for the connective work.

Want it built into your stack on a 14-day clock?

+

Yes. The free SKILL.md is the starting point. If you want it wired into your specific POS, loyalty platform, supplier feeds, and machine roster on a fixed-price two-week clock, the door is at openclawconsult.com/hire.

Want the full implementation playbook?

Read the deep-dive guide for coffee shops

The playbook covers workflows, software integrations, compliance, ROI math, and a four-week rollout plan. The skill file above is a working slice of that build.

Read the coffee shops playbook →

Related free skills

Want it wired to your stack?

The free skill is the starting point. If you want it plugged into your actual software, on a fixed-price two-week clock, with the founder writing every line, this is the door.