For coaches
Only for coach accounts on Simple Macros for Coaches. Once you're a coach, your assistant gets these tools on top of your own: read your clients, send and manage invites, change your code, edit your profile and remove a client. They only ever see clients who shared their data with you, and a client's name means one of your clients, never anyone else. Your assistant asks before it removes a client, cancels an invite, changes your code or overwrites your profile. Coaches only view: no tool messages a client or changes their goals. You can turn coach access off for any assistant on the AI Assistants page of your coach dashboard.
List my coaching clients
Read-onlylist_coaching_clients
The coach's clients: active and waiting for a seat (pending_coach), each with the relationship_id, connected date, today's calories and protein vs goal, 7-day adherence, days since the last log, latest weight, attention signal types and, for organization clients, the org and who they're assigned to. Filter with `filter` (default: everyone), `q` (a name) and `organization` ('personal' or one org). Waiting clients show only the name until they get a seat.
Try saying
- “List my clients”
- “Which of my clients haven't logged today?”
Coaching overview
Read-onlyget_coaching_overview
The coach's dashboard: their plan (free right now, unlimited clients) and each organization they belong to, clients who need attention (with the evidence), who has and hasn't logged today, clients waiting for a seat, and recent weigh-ins. `organization` narrows it to 'personal' clients or one org. Start here for 'who needs my attention today' or 'how are my clients doing'.
Try saying
- “Who needs my attention today?”
- “How are my clients doing?”
Clients needing attention
Read-onlyget_clients_needing_attention
Every attention signal across the coach's clients, most urgent first, each with a plain-English message and its evidence numbers: waiting for a seat, nothing logged for a whole day (yesterday or longer), no weigh-in for 3+ days, over calories on 4+ of the last 7 days, protein under 80% of goal, steps under goal 3+ days in a row, logging down 30%+ vs the 2 weeks before, weight flat for 21 days on a lose/gain goal, and (with include_new) new clients.
Try saying
- “Which clients should I check in with?”
- “Who's slipping this week?”
A client's day
Read-onlyget_client_day
One day of a client's log, meal by meal with every food and its macros, plus the day's goals, totals (calories, protein, carbs, fat, fiber, sugars, sodium, cholesterol), what's left, steps and weigh-in. Dates are the client's local date; defaults to their today.
Try saying
- “What did Tammy eat yesterday?”
- “Show me Jordan's food log for Monday”
A client's summary
Read-onlyget_client_summary
A client's last 7, 14, 30 or 90 COMPLETE days (ending yesterday in their timezone; today is partial and reported separately): days logged, averages over logged days (calories, protein, carbs, fat, steps), calorie adherence (within ±500 of each day's own goal), protein adherence (at or over), step adherence, weight (latest, 7-day average, change, trend lb/week), and with compare (default true) the previous equal period and the deltas. Report these numbers; don't recompute them.
Try saying
- “How is Tammy doing this week?”
- “Compare Jordan's last 30 days with the 30 before”
A client's weight trend
Read-onlyget_client_weight_trend
A client's weigh-ins over the last N days (default 90, max 365) with the 7-day moving average, the change over the period, the trend in lb per week and their goal (direction, target weight).
Try saying
- “What's Tammy's weight trend?”
- “Has Jordan's weight moved in the last month?”
My coach code, link and invites
Read-onlyget_coach_invite_link
The coach's code and permanent link to send a client (the client opens it, installs Simple Macros and approves sharing), plus email invites nobody has accepted yet. For each organization they belong to, also their org code and link: a client who uses it joins the org and is assigned to this coach. Use for 'what's my coach code?', 'send me my link' and 'did Tammy accept my invite?'. The QR code is on simplemacros.com/coach/invite. To change the personal code use set_coach_code.
Try saying
- “What's my coach code?”
- “Give me the link to send a new client”
- “Has Tammy accepted my invite yet?”
Change my coach code
WritesDeletesset_coach_code
Change the coach's code (and so their link). Either a code they choose, 3 to 12 letters and numbers such as their name (SARAHLEE): spaces and dashes are dropped and it's saved in capitals, and the old code keeps working so links and QR codes already handed out still reach this coach. Or `random: true` for a new random code, for when a code was shared somewhere it shouldn't be: then the current code AND every old one stop working, so confirm with the coach first. Up to 5 code changes a day.
Try saying
- “Change my coach code to SARAHLEE.”
- “Can my coach link use my name instead of random letters?”
- “Someone posted my coach code online, give me a new one.”
Resend or cancel an invite
WritesDeletesmanage_client_invite
Resend or cancel an email invite the coach sent that nobody has accepted yet (get_coach_invite_link lists them). Resend emails a fresh link, good for 14 more days, and the old link stops working; it also revives an expired invite. Cancel makes the link stop working. Identify the invite by the email it went to or its invite_id. Confirm with the coach before canceling.
Try saying
- “Resend my invite to tammy@example.com”
- “Cancel the invite I sent to jordan@example.com”
Update my coach profile
WritesDeletesupdate_coach_profile
Read or change the coach's public profile: name, business, headline, bio (300 characters max, first person), specialties (up to 5 of: Weight loss, Muscle gain, Strength, Endurance, Sports performance, General health, Plant-based, Women's health, Men's health, Over 50, Bodybuilding, Habit coaching, Postpartum), how they coach (online, in person or both), city/region/country, languages, a price note, website, Instagram and TikTok usernames, and whether they're taking new clients. Only the fields passed change; call with no fields to read the profile. Show the coach the new text before saving. The photo is changed on simplemacros.com/coach/settings.
Try saying
- “Update my bio to mention I also coach online”
- “Add strength training to my specialties”
- “I'm not taking new clients right now”
Each business_name is one of:
Each coaching_format is one of:
Each price_note is one of:
Each website_url is one of:
Each instagram_handle is one of:
Each tiktok_handle is one of:
Remove a client
WritesDeletesremove_client
End coaching with a client, or decline one who is waiting for a seat. The coach stops seeing their data right away and the seat frees up. An active client gets a notice. This is the only way to free a seat; to come back, the client reconnects with the coach's code and approves sharing again. An organization client leaves the whole organization, and only an owner or admin can remove them (to move them to another coach, use assign_client). Confirm with the coach first.
Try saying
- “Remove Tammy as a client”
- “I'm not coaching Jordan anymore”
- “Decline Pat's request”
Approve a waiting client
Writesapprove_pending_client
Let a client who is waiting (pending_coach) in. While coaching is free nobody new waits, since there are no client limits; this is for an older request. If a plan limit is ever back on and the plan is full, the coach frees a seat by removing a client (remove_client). Only an owner or admin can approve an organization client.
Try saying
- “Approve Jordan's request”
- “Let my waiting client in”
Invite a client by email
Writesinvite_client_by_email
Email someone a one-time invite to connect with the coach in Simple Macros (the same invite the portal sends; it expires in 14 days). Whoever accepts it and approves sharing becomes the client. With `organization`, the client joins that organization instead: a plain org coach's invite assigns the client to themselves; an owner or admin may pick a coach with `assign_to` (or leave the client unassigned). Confirm the address with the coach first.
Try saying
- “Invite tammy@example.com as a client”
- “Send an invite to my new client Jordan at jordan@example.com”
My reviews
Read-onlylist_my_reviews
Reviews clients left for the coach, newest first, with the coach's reply if any, plus the average rating.
Try saying
- “What are my clients saying about me?”
- “Do I have any new reviews?”
Reply to a review
WritesDeletesrespond_to_review
Post (or replace) the coach's one public reply to a review. An empty response removes the reply. It replaces any earlier reply, so confirm the wording with the coach first.
Try saying
- “Reply to Tammy's review: thanks so much, proud of your progress!”
My coaching plan
Read-onlyget_coaching_plan
The coach's plan. Simple Macros for Coaches is free right now (free_for_everyone: true): unlimited clients and coaches, nothing to buy, every limit null. Also returns active and waiting clients, any renewal or cancel date left from an earlier paid plan, and each organization they belong to (role, org code; for owners and admins also the org's clients and coaches). If free_for_everyone is ever false, it also shows the client limit, whether they're over it (and when client pages lock) and billing_url, where plans are changed. Plans are never bought or changed through an assistant.
Try saying
- “What plan am I on?”
- “How many clients can I have?”
- “Do I have to pay for coaching?”
My organization's team
Read-onlyget_team_overview
For an organization owner or admin: every coach in the org with their active clients and how many need attention, clients nobody is assigned to yet, clients waiting for a seat, attention signals across the whole org, the org's client seats (and lock) and coach seats. `organization` is optional when they manage exactly one. Use assign_client to assign or move clients.
Try saying
- “How is my team doing?”
- “Which clients haven't been assigned to a coach?”
- “Who on my team has clients who need attention?”
Assign an organization client
WritesDeletesassign_client
For an organization owner or admin: assign one of the org's clients to a coach in the org, or with `unassign: true` take a coach off them. `replace: true` makes that coach the only one (everyone else assigned to the client is removed), which is how to move a client to another coach. The client keeps sharing with the org either way; assigned coaches see the client, other plain coaches don't. Confirm with the coach before replacing.
Try saying
- “Assign Tammy to Jordan”
- “Move Pat to Alex”
- “Take me off Riley”