Full capability index
Every capability PieOS has, in one list — over 200, each with the plan it needs and a one-line description. This is the complete reference; the grouped pages (commerce, content, marketing, settings, operations) are subsets of it.
Availability is not permission: a capability listed here still runs only within the permissions you grant and, for consequential actions, only after your approval.
| Capability | Plan | What it does |
|---|---|---|
create_curriculum | Pro | Generate a full course/curriculum (modules + lessons + quizzes) with AI, using the same generation p. |
bundle_creator | Pro | Create a bundle product packaging 2+ existing products at a discount. |
configure_affiliate_program | Pro | Set up or tune the store's affiliate program (commission %, cookie window, on/off). |
set_discount_active_days | Pro | Enforce a coupon day-schedule at checkout — e.g. turn OFF Sat+Sun so weekend discounts are actually . |
get_buyer_activity | Free | Returns buyer-side activity on the storefront in the last N hours (default 6). Synthesizes from stor. |
get_my_plan_48h | Free | Read Pie's active 48-hour autonomous plan — concrete action items with when/tool/args/expected_outco. |
get_my_plan_7d | Free | Read Pie's active 7-day autonomous plan — weekly theme + daily milestones. Strategic horizon (vs 48h. |
get_my_posture | Free | Read this store's current behavioral POSTURE — a set of lifecycle stages (empty / setup / launch / r. |
get_my_self_audit | Free | Read Pie's weekly self-audit admissions — where forecasts/suggestions diverged from actual outcomes . |
get_my_taste_profile | Free | Read all active taste/preference entries for this creator. Returns key + value + confidence + proven. |
get_open_asks_for_work | Free | List open 'ask-for-work' cards: things Pie can't do autonomously because they need creator input (e.. |
get_plan_audit | Free | Audit the creator's latest active plan: items completed, skipped, still pending — with a one-line hu. |
get_top_worries | Free | Read all open Pie worries for this tenant, sorted by severity (urgent → concern → watch → info). Use. |
audit_profile_bio | Free | Audit creator's public-facing profile (brand name / tagline / social links / support email / custom . |
audit_storefront | Free | 10-point diagnostic of store setup, catalog, copy, SEO. |
cfo_health_check | Free | Run a CFO-mode health check on the creator's business: revenue, orders, AOV, customers (active + new. |
check_first_share_outcome | Free | Measure traffic + leads a creator's first storefront share delivered. |
diagnose_metric | Free | Diagnose WHY a business metric changed week-over-week. Returns current vs prior numbers, top driver . |
diagnose_zero_sales | Free | Explain why the store has no orders — traffic / conversion / catalog / pricing. |
get_abandoned_carts | Free | Count + total value of carts abandoned in the last 7 days. |
get_biolink_analytics | Free | Aggregate biolink performance over a window: views, clicks, CTR, unique visitors, top items. |
get_clv_report | Free | Customer lifetime value — average, median, repeat-buyer ratio. |
get_dashboard_kpis | Free | Today + 7-day orders, GMV, AOV + total customers — store vitals at a glance. |
get_invoices | Free | Invoice counts + total value. |
get_leads | Free | Lead funnel counts — total / converted / active / lost. |
get_order_detail | Free | Full details for a specific order by ID. order_id MUST be a UUID returned by get_orders — never a pr. |
get_orders | Free | List recent orders (most recent first). Optional status filter. |
get_pnl_summary | Free | Revenue minus refunds minus fees — concise P&L for a window. |
get_refund_requests | Free | Refund request counts + pending value. |
get_subscriptions | Free | Subscription counts + monthly recurring revenue (MRR). |
gsc_query_top_keywords | Free | Top Google Search keywords (last 28d) with position, CTR, and rank-drop flags. |
pricing_sanity_check | Free | Flag pricing issues across catalog: zero_price, draft_status, below/above 4× median bands. |
revenue_trend | Free | Per-day revenue + orders series over N days (default 90), with peak + averages. |
at_risk_report | Free | Customers who haven't ordered in 30-180 days, sorted by lifetime spend. |
get_bookings | Free | Booking counts + the next upcoming booking. |
get_customer_detail | Free | Full profile for ONE customer — name, email, phone, tags, notes, order count, lifetime spend, last o. |
get_customers | Free | Top customers by lifetime spend. |
segment_gap_audit | Free | Pareto cohort analysis: top-20% / mid-30% / bottom-50% revenue share + concentration verdict. |
add_customer_note | Free | Append a note to a customer's notes (preserves history). Identify the customer by email (best) or na. |
create_booking_slot | Free | Create a booking slot for a product (customer unassigned; confirmed status). |
create_customer | Free | Create or upsert a customer by email. |
create_lead | Free | Create a new lead. |
send_booking_reminder | Free | Send a reminder email for an upcoming booking to that booking's own customer. |
update_lead_status | Free | Advance a lead through the funnel (new → contacted → qualified → converted/lost). |
email_lead | Free | Email a single lead/prospect (proposes first — the creator approves before it sends). |
send_cart_recovery | Free | Send a recovery email for an abandoned cart to its owner (proposes first — the creator approves befo. |
update_customer_tags | Free | Replace a customer's tag list (e.g. ['vip', 'course-buyer']). customer_id MUST be a UUID returned by. |
get_categories | Free | Total number of product categories. |
get_collections | Free | Product collections — count plus the list (name, status, product_count) with ids. |
get_inventory | Free | Product inventory levels — tracked / out-of-stock / low (1-5 units). |
get_products | Free | List the catalog (most recent first) + exact status_breakdown (total/active/draft/archived). Optiona. |
get_reviews | Free | List product reviews; filter by product or by moderation status. |
list_payment_links | Free | List the store's payment links (title, amount, status, link). |
suggest_price | Free | Suggest a price for a new product based on the creator's own catalog history + upcoming pricing-sens. |
approve_review | Free | Approve a pending product review — makes it public on the storefront. |
compose_automation_from_intent | Free | Compose a draft marketing/commerce automation from a plain-English description, returning the ReactF. |
deactivate_payment_link | Free | Deactivate a payment link so it stops accepting payments (reversible). |
reject_review | Free | Reject a pending product review — keeps it out of the storefront. |
update_inventory_level | Free | Set the absolute stock level for one item; audits the delta. Identify the item by sku or product_nam. |
bulk_update_inventory | Free | Set absolute stock for multiple inventory items in a single transaction (atomic, audited). |
generate_page_from_brief | Free | Opens the AI page builder pre-filled with your brief so you can generate a new page (landing, about,. |
get_biolink | Free | Get the creator's biolink (quicklink) page with all items in display order. |
get_course_detail | Free | Get one course's full structure: modules and their lessons (titles + ids only). |
get_course_lessons | Free | Flat list of every lesson in a course with its parent module. |
get_courses | Free | List the creator's curricula (courses) with module + lesson counts. |
get_pages | Free | List this store's pages with their id, title, slug, publish status and current SEO title/description. |
get_student_progress | Free | List enrolled students for a course with their completion status. |
list_quizzes | Free | List quizzes (optionally filtered to one course) with question counts and passing scores. |
add_biolink_item | Free | Append a new item (product/booking/payment-link/lead-magnet/subscription) to the biolink page. |
add_section | Free | Add a new section (hero, testimonials, faq_accordion, cta, image_text, gallery, product_grid) to a p. |
assign_products_to_category | Free | Assign products to a category (a product lives in one category — this moves them). |
assign_products_to_collection | Free | Add products to an existing collection (additive — keeps current members). |
complete_aeo | Free | Sweeps every page with no FAQ and, in one call, writes 3-5 grounded question/answer pairs for the pa. |
complete_seo | Free | Sweeps every page missing an SEO title or description and, in one call, writes distinct SEO for the . |
create_category | Free | Create a new product category. |
create_collection | Free | Create a new product collection (manual type). |
create_community_topic | Free | Start a new discussion topic in the store's customer community. |
create_page | Free | Create a new storefront page (saved as draft). |
create_product | Free | Create a new product (saved as draft for review). |
create_product_variant | Free | Add a variant (size/color/tier) to a product. |
duplicate_product | Free | Clone a product into a new draft (preserves description, price, tags, images). |
remove_section | Free | Remove one section from a page's DRAFT (refuses to remove the last remaining section). Proposes for . |
reorder_sections | Free | Reorder the sections of a page's DRAFT. The order must list every section exactly once. Proposes for. |
set_page_seo | Free | Set a page's SEO + social metadata (search title, meta description, Open Graph title/description, ke. |
update_category | Free | Rename a product category. Identify it by current_name (you rarely have the UUID). |
update_collection | Free | Rename a product collection. |
update_section | Free | Edit one section of a page's DRAFT — heading, subheading, body text, button text/link, or visibility. |
upload_media | Free | Register a media file (image/video/document) in the library by URL. |
generate_caption_templates | Free | LLM-generate 5 reusable post-caption templates for the store's top products. |
generate_instagram_bio | Free | LLM-write a polished Instagram bio matched to the store's voice. |
generate_seo_landing_page | Free | LLM-write SEO-optimised landing-page copy for a specific product or keyword. |
generate_whatsapp_template | Free | LLM-write a WhatsApp broadcast template (approved-template format). |
update_page | Free | Update a storefront page's title or publish status. |
delete_product | Free | Soft-delete a product (reversible — sets deleted_at timestamp). |
update_product | Free | Update a product's name / description / status / price, AND its SEO meta (seo_title / seo_descriptio. |
update_product_variant | Free | Update one product variant's name / SKU / price / compare-at price / stock count. variant_id MUST be. |
resend_payment_link_email | Free | Re-send a payment link's invitation email to the recipient on file for that link. |
content_radar | Free | Surface trending content opportunities in the creator's niche from HackerNews + Reddit (when reachab. |
demand_forecast | Free | Forecast next-N-day demand signals from weather + India holiday/festival/cricket calendar + creator'. |
get_automations | Free | Automation workflow counts — total / active / paused. |
get_campaigns | Free | Campaigns — last-30-day performance (sent, opens, clicks, open rate) plus the campaign list with the. |
get_discounts | Free | Discount codes — active/expired counts, total uses, and the code list with their ids. |
list_email_templates | Free | List all event-driven and custom email templates for the tenant. |
list_segments | Free | List the store's saved customer segments (name + member count). |
preview_email_template | Free | Render an email template with sample tokens — returns subject + html + text preview. |
preview_segment | Free | Preview how many customers a segment matches — no save. |
top_campaign_report | Free | Top campaigns ranked by CTR (with min-sent gate to avoid 1-send noise). |
create_segment | Free | Create a customer segment from simple criteria (spend, orders, tag, inactivity). |
send_test_campaign_to_self | Free | Send a campaign's test email to your OWN inbox to preview it before the real blast. |
set_campaign_audience | Free | Set who a campaign sends to (all customers, a segment, or a tag). |
update_email_template | Free | Update an event-driven email template's subject / html / text / enabled. |
create_campaign | Free | Create a new marketing campaign (saved as draft). |
draft_email | Free | Generate an email body via LLM and store as a draft for creator review. |
update_campaign | Free | Update a campaign's name or status. |
abandoned_cart_recovery | Free | PREPARE a cart-recovery draft: mint a one-time discount code and stage the recovery email in drafts.. |
create_discount | Free | Create a new discount code (starts enabled). |
delete_discount | Free | Disable a discount code (preserves history; sets enabled=false). |
schedule_campaign | Free | Schedule a campaign to start sending at a specific date (marks it active). |
send_campaign | Free | Send an existing email campaign to its audience (proposes first — the creator approves before it sen. |
update_discount | Free | Update a discount's value or enabled/disabled state. |
describe_tool | Free | Look up everything about another tool by name — summary, when to use it, input schema, output schema. |
get_pi_recent_activity | Free | Returns Pie's recent activity (last N hours, default 6) by reading pieos_action_log + pieos_suggesti. |
get_world_class_rubric | Free | Return Pie's honest self-assessment against the 15-question world-class commerce brain rubric. Each . |
list_tools | Free | Browse the tool catalog. Filter by category, by read_only-only, or by a substring search over name/s. |
get_last_actions | Free | List Pie's last N tool calls in this tenant's scope (default 5 within 1 hour). Returns tool name, st. |
get_my_mission | Free | Read the calling creator's current active Pie mission — objective, progress %, confidence, evidence . |
get_my_priorities | Free | List the creator's active stated priorities (entity-level focus items). |
get_pieos_ledger | Free | Read Pie's unified ledger — top N events across tool dispatches, plan steps, work-items, and ask-for. |
list_notifications | Free | List the creator's recent notifications (filterable by unread or by type). |
search_my_history | Free | Search the creator's own history — past chat turns, tool actions, memory facts, drafts, order notes,. |
write_top_worry | Free | Pin a concern as Pie's 'top worry' — the topbar pill creator sees across every page. Use when Pie no. |
mark_notifications_read | Free | Mark a set of notifications as read (or clear all unread for the tenant). |
remember_commitment | Free | Remember a commitment so Pie resurfaces it next session — a reminder the creator asked for, a promis. |
remember_fact | Free | Save a foundational fact about the creator/business to long-term memory (5-layer architecture, Layer. |
remove_my_priority | Free | Archive one of the creator's active priorities by keyword. |
resolve_commitment | Free | Close a remembered commitment so Pie stops resurfacing it — done (acted on) or cancelled (creator dr. |
set_my_mission | Free | Commit a new active Pie mission for the calling creator. Supersedes any prior active mission (histor. |
set_my_priority | Free | Persist a short-lived creator priority (entity-level focus). Boosts matching work items in the appro. |
suggest_action | Free | Write a proposal to the creator's inbox (pieos_suggestions). |
update_memory_fact | Free | Replace an existing memory fact with a corrected version. Marks the old row 'contradicted' (drops fr. |
notify_creator | Free | Send an in-app notification to the creator. |
get_active_work | Free | Snapshot Pie's right-now work queue — 4-bucket counts (running, queued, blocked, completed last hour. |
add_order_note | Free | Append a timestamped note to an order's internal notes log. |
add_tracking_number | Free | Attach a tracking number + carrier to an order (without marking shipped). |
mark_order_shipped | Free | Mark an order as shipped — creates/updates fulfillment + sets orders.status='shipped'. |
update_mission_progress | Free | Refresh the calling creator's active mission with the latest observed metric value. Recomputes progr. |
get_capability_autonomy | Free | Read the current autonomy level Pie has for each of the 8 capability classes (marketing, CRM, schedu. |
get_connected_integrations | Free | List every integration / OAuth provider the creator has connected (or attempted to connect) — paymen. |
get_creator_profile | Free | Read the saved D1 creator persona (origin / product types / volume tier / business stage / autonomy . |
get_memory_facts | Free | List the active memory facts Pie has saved for the creator. Returns id + fact_text + source_of_truth. |
get_onboarding_status | Free | Read-only view over the creator's most recent onboarding session. Returns stage, progress, is_review. |
list_self_teach_questions | Free | List the self-teach questions Pie has raised for this tenant — and which are still pending, answered. |
summarize_my_account | Free | One-shot snapshot of the creator's PersonaCart account: store identity (name / country / currency / . |
get_domains | Free | Custom domains attached to the store + verification status. |
get_store_readiness | Free | Pre-publish checklist — products, pages, branding, payment setup. |
resume_onboarding | Free | Re-engage the creator with an active onboarding session that's been idle. Returns the last question . |
set_store_currency | Free | GUIDE a creator on their storefront currency. Pie does NOT change currency — currency is set by the . |
add_voice_sample | Free | Save a creator-supplied writing sample into pieos_voice_samples (mig 00850) as source_kind='manual'.. |
advance_onboarding | Free | Advance the onboarding stage machine. Stores the creator's answer in pending_answers under the curre. |
ask_creator_to_teach | Free | Raise a canonical question for the creator to teach Pie. Use a question_key from the seed bank (pric. |
cancel_onboarding | Free | Abandon the current onboarding session (status='abandoned'). Creator can later start a fresh session. |
dismiss_worry | Free | Mark a worry dismissed when creator says 'I know about that' / 'ignore this' / 'not a real concern'.. |
forget_fact | Free | Archive a memory fact so Pie stops considering it in future turns. Use exact fact_id (preferred — ca. |
mark_not_teachable | Free | Mark a self-teach question as 'cannot be taught here' so Pie stops re-asking. Use for questions that. |
record_teaching_answer | Free | Capture the creator's answer to a self-teach question. Updates pieos_self_teach_question.answer + au. |
remove_taste_value | Free | Soft-delete a creator preference (taste). Audit preserved. |
resolve_worry | Free | Mark a worry resolved when the underlying condition is gone (low_stock replenished, integration reco. |
revert_onboarding_stage | Free | Move the onboarding session back to an earlier stage. Useful when creator wants to revise an answer . |
review_onboarding | Free | At review_1 / review_2 stages, approve or edit the recap. approve=true writes the confirmed fields t. |
seed_self_teach_questions | Free | UPSERT the canonical seed bank of self-teach questions into pieos_self_teach_question for the curren. |
set_business_address | Free | Save the storefront's public business address (line1, line2, city, state, postal_code, country) into. |
set_capability_autonomy | Free | Pause or resume Pie's autonomous action on a specific capability class (e.g. marketing publishing, C. |
set_creator_profile | Free | Save persona answers into pieos_creator_profile so the D1-base CreatorPersona block can render them . |
set_legal_pages | Free | Save the storefront's terms-of-service and/or privacy-policy URL into checkout_settings. These show . |
set_memory_fact_lock | Free | Toggle creator_locked on a memory fact. Locked facts are immune to agent-initiated updates (only the. |
set_social_handle | Free | Save the creator's social handle (Instagram, YouTube, Twitter/X, Facebook, TikTok, LinkedIn, Pintere. |
set_store_country | Free | Country/currency is LOCKED after onboarding and CANNOT be changed here. This tool does NOT change th. |
set_support_contact | Free | Save the storefront's public support email and/or support phone number into tenant_settings. These s. |
set_taste_value | Free | Save a creator preference (taste) — style, tone, taboo, philosophy. Goes BEYOND memory facts; used b. |
set_timezone | Free | Set the storefront's timezone (tenants.timezone). Every time-scoped feature — scheduled campaigns, '. |
snooze_worry | Free | Snooze a worry for N hours (default 24, max 720 = 30d). Hidden from topbar pill until snoozed_until . |
start_onboarding | Free | Start (or resume, if an active session already exists) the multi-step onboarding journey. Returns th. |
update_creator_identity | Free | Authoritatively update the creator's personal name (sign-offs) and/or store brand name across the wh. |
invite_team_member | Free | Invite a team member by email with a role (owner/admin/editor/viewer). |
update_brand_settings | Free | Update brand fields — store name, tagline, font, favicon (saved to brand settings). NOTE: storefront. |
update_checkout_settings | Free | Update checkout flags — shipping/billing required, tips, coupons, terms links. |
update_email_sender_settings | Free | Update email sender identity — sender prefix and reply-to. |
update_notification_preferences | Free | Toggle which events the creator gets notified about (orders, stock, reviews, digest). |
update_shipping_settings | Free | Update shipping config — free shipping threshold, default rate, origin country. |
get_support_tickets | Free | Support tickets — counts (total / open / closed) plus the ticket list with their ids. |
get_ticket_detail | Free | Get one support ticket with metadata + last 20 messages. |
assign_ticket | Free | Assign a ticket to a tenant team member (or unassign with empty user_id). |
close_ticket | Free | Close a support ticket — the customer is EMAILED ('your ticket was closed') and gets an in-app alert. |
reopen_ticket | Free | Reopen a closed/resolved ticket — sets status back to 'open' (no customer email on this transition). |
resend_order_confirmation | Free | Re-send an order's confirmation email to that order's own customer. |
reply_to_ticket | Free | Append a 'support' reply to a ticket and bump status to in_progress if needed. Does NOT email the cu. |
get_campaign_analytics | Free | One campaign's real delivery numbers from the send ledger — recipients / sent / delivered / failed /. |
get_revenue_forecast | Free | This month's revenue forecast — pace projection, weighted trend, confidence — from the SAME engine a. |
delete_product_variant | Free | Delete one product variant permanently. Refused if the variant appears in any order (order history m. |
pause_subscription | Free | Pause a customer's subscription — the payment gateway is paused FIRST (billing stops), then local st. |
resume_subscription | Free | Resume a paused subscription — the payment gateway resumes billing FIRST, then local state. |
201 of 201 capabilities. Generated from the live PieOS capability matrix.
How many capabilities does PieOS have?
Over 200, spanning commerce, content, marketing, analytics, settings, support, and operations. This page lists every one with the plan it requires and what it does.
Does listing a capability mean PieOS will use it on my store?
No. A capability is available in principle, but it only runs within the permissions you've granted and, for anything consequential, after you approve it. Nothing acts unchecked.
What this screen looks like in every state
| State | When you'll see it | What you see, and what to do |
|---|---|---|
| Loading | The screen is fetching your data | A skeleton in the shape of the finished page. It should be brief — if it persists, the load has failed rather than stalled. |
| Error | The data couldn't be loaded | A message with a retry. Retry first: most of these are a dropped request, not a broken store. If it repeats, the outage is upstream and reloading won't help. |
| No access | Your role doesn't include this screen | A permission notice instead of the page. An owner or admin can grant access under Settings → Team. |
When something goes wrong
These are the messages this screen can show you, and what each one means.
| If you see | What to do |
|---|---|
| Failed to save profile | The file was rejected. Check its size and type against what the field accepts. |