{"name":"Sherpa action rules","page":"https://peak-engine.com/sherpa","from":"api","rules":{"v":1,"generatedAt":"2026-10-20T22:36:24.985Z","source":"defaults","hardRules":[{"id":"money_and_sends","text":"Anything that moves money or reaches a customer always waits for an owner or manager to approve it. No setting can change that."},{"id":"app_only","text":"Settings, team members, billing, deletes and data exports can only be done in the app, never by text, chat or an AI connector."},{"id":"unlisted","text":"Sherpa can only do what is listed here. If an action is not on this page, Sherpa cannot do it."},{"id":"tighten_only","text":"Owners can make any action stricter (ask first, or draft only) and can switch every channel to draft-only at once. Nobody can make an action looser than shown here."},{"id":"prices","text":"Sherpa never sets a price. Prices come from your price book or a person; lines it adds start at $0 and are flagged until someone fills them in."},{"id":"hidden_numbers","text":"Costs, wages, margins and internal notes are never shown to the AI model."},{"id":"crew_money","text":"Field crew can ask Sherpa for help, but never for anything that involves money."},{"id":"audit","text":"Every action is logged with who asked, on which channel, and the words they used."}],"tiers":[{"tier":"auto","label":"Auto","heading":"Does it right away","meaning":"Looks things up and makes small edits to your own records. Anything marked Can undo can be reversed for 10 minutes by replying UNDO."},{"tier":"draft_only","label":"Draft only","heading":"Drafts it for you","meaning":"It writes a draft in the app. Nothing goes to a customer until you open the draft and send it."},{"tier":"confirm","label":"Confirm","heading":"Asks you first","meaning":"It tells you exactly what it will do and waits for your yes. The request expires after an hour."},{"tier":"approval_send","label":"Approval to send","heading":"Waits for an owner or manager","meaning":"Anything that moves money or reaches a customer is held until an owner or manager approves it in the app, or by text with a PIN."},{"tier":"blocked_remote","label":"App only","heading":"Never by text or chat","meaning":"Settings, people, billing, deletes and exports stay in the app, where you are signed in."}],"zones":[{"zone":"crm","label":"CRM","status":"ok","complete":true,"groups":{"auto":[{"zone":"crm","key":"lead.forContact","summary":"A contact's open Lead cycle, if any","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is Maria Lopez an open lead"},{"zone":"crm","key":"locations.timeline","summary":"A property's own timeline: notes, emails sent to its alias, files, equipment and changes","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what happened at the Hendricks lake house"},{"zone":"crm","key":"notes.create","summary":"Add a note to a contact, company or deal","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"note on Hendricks: gate code is 4471, dog in backyard"},{"zone":"crm","key":"locations.addNote","summary":"Add a note to a property's timeline","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"note on the Elm St property: shutoff valve is behind the water heater"},{"zone":"crm","key":"contacts.upsertPhone","summary":"Add a phone to a contact, or correct an existing one","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"add 801-555-0188 to Dale Hendricks"},{"zone":"crm","key":"locations.create","summary":"Add a property (service address) and link it to a customer","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a property for Maria Lopez: 412 Elm St, Provo"},{"zone":"crm","key":"contacts.upsertEmail","summary":"Add an email to a contact, or correct an existing one","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"add dale.hendricks@example.com to Dale Hendricks"},{"zone":"crm","key":"ai.pending","summary":"AI actions waiting for a confirmation or an approval, and recent decisions","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's waiting on me to approve"},{"zone":"crm","key":"ai.usage","summary":"AI spend this month, by feature and by model","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how much have we spent on ai this month"},{"zone":"crm","key":"ai.apiKeys","summary":"API keys for connecting an AI client (the secret is never returned)","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which ai keys do we have connected"},{"zone":"crm","key":"appointments.list","summary":"Appointments in a window","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's on the schedule thursday"},{"zone":"crm","key":"lead.assign","summary":"Assign an open lead to a member of the workspace (or nobody)","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"give this lead to Sam"},{"zone":"crm","key":"playbooks.catalog","summary":"Available playbooks with their intake questions","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what playbooks can I install"},{"zone":"crm","key":"dashboard.automations","summary":"Best performing automations, ranked by goal rate","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which automations are working best"},{"zone":"crm","key":"campaigns.list","summary":"Broadcast campaigns and their results","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how did the spring broadcast do"},{"zone":"crm","key":"assets.list","summary":"Browse the asset library","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the photos in the Lehi folder"},{"zone":"crm","key":"brand.lint","summary":"Check a draft against the brand voice and compliance rules","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"check this against our brand voice: we're the best court builder in Utah, guaranteed"},{"zone":"crm","key":"contacts.setPrimaryEmail","summary":"Choose which email is the primary one","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"make Dale's work email his main one"},{"zone":"crm","key":"contacts.setPrimaryPhone","summary":"Choose which phone is the primary one","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"make 801-555-0147 Dale Hendricks' primary phone"},{"zone":"crm","key":"foundation.goals","summary":"Company goals with progress measured from CRM data, or logged by hand where no source is connected","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how are we doing on our goals"},{"zone":"crm","key":"tasks.complete","summary":"Complete or reopen a task","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"mark the Hendricks call done"},{"zone":"crm","key":"reviews.checkTemplate","summary":"Compliance problems with a review-request message, as plain sentences","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"check this review request: 'Hi Dale, loved your court? Leave 5 stars please'"},{"zone":"crm","key":"ai.confirmPending","summary":"Confirm (or cancel) your own AI request that is waiting for a yes","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"confirm my pending contact update"},{"zone":"crm","key":"social.accounts","summary":"Connected social accounts and their health","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which social accounts are connected"},{"zone":"crm","key":"integrations.history","summary":"Connection and health history for one provider","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"has the google connection been healthy"},{"zone":"crm","key":"companies.create","summary":"Create a company","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add Wasatch Dental as a company, wasatchdental.example"},{"zone":"crm","key":"contacts.create","summary":"Create a contact, or merge into an existing one on a matching email or phone","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add Dale Hendricks 801-555-0147 as a lead, wants a court in his backyard in Lehi"},{"zone":"crm","key":"deals.create","summary":"Create a deal","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"new deal: Hendricks backyard court, 28k"},{"zone":"crm","key":"tasks.create","summary":"Create a task","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"remind me to call Maria Lopez friday at 10"},{"zone":"crm","key":"assets.folderCreate","summary":"Create an asset folder","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"make a folder called Draper court photos"},{"zone":"crm","key":"copies.list","summary":"Data copy destinations (CSV, webhook, Google Sheets, BigQuery) and what each can do today","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"where are we sending data copies"},{"zone":"crm","key":"workflows.draftFromText","summary":"Draft an automation (trigger, messages, timing) from a plain-English sentence; nothing is saved","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"set up an automation that texts new leads within 5 minutes"},{"zone":"crm","key":"email.templates","summary":"Email templates in this workspace","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what email templates do we have"},{"zone":"crm","key":"foundation.playbooks","summary":"Email, SMS and social playbooks, with what each needs and whether it is installed","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which playbooks are installed"},{"zone":"crm","key":"messaging.stats","summary":"Engagement and deliverability across email and SMS","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how are our texts and emails doing"},{"zone":"crm","key":"conversations.thread","summary":"Every message in one conversation","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the whole thread with Dale Hendricks"},{"zone":"crm","key":"dashboard.catalog","summary":"Every metric that can be put on a dashboard, with its definition","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what metrics can I put on the dashboard"},{"zone":"crm","key":"ai.rules","summary":"Every operation remote AI can reach, with its default and effective policy tier per role","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what can the assistant do without asking me"},{"zone":"crm","key":"members.permissionCatalog","summary":"Every permission string and which roles hold it, for the override drawer","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what permissions can I give someone"},{"zone":"crm","key":"workflows.runDetail","summary":"Every step a run executed, with skip reasons and outputs","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what did that workflow run do for Dale"},{"zone":"crm","key":"messaging.suppressions","summary":"Everyone who has opted out","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who has opted out"},{"zone":"crm","key":"locations.attachFile","summary":"File an uploaded document or photo on a property (permit, plan, warranty, invoice...)","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"file the Draper permit pdf on the Elm St property"},{"zone":"crm","key":"records.find","summary":"Find contacts, deals and jobs by name, phone or email — every match, so ambiguity is visible","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"find Hendricks"},{"zone":"crm","key":"contacts.resolve","summary":"Find the CRM contact behind another Peak app’s customer (email, then phone), or add one; never merges","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"link the customer on estimate #1042 to their CRM contact"},{"zone":"crm","key":"lead.followups","summary":"Follow-up drafts waiting for a person to approve (nothing in this list has been sent)","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which follow-ups are waiting for approval"},{"zone":"crm","key":"foundation.overview","summary":"Foundation at a glance: checklist score, next steps, goals and competitors","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"give me the foundation overview"},{"zone":"crm","key":"calendars.slots","summary":"Free slots on a calendar over a date range","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"any open slots on the estimates calendar next week"},{"zone":"crm","key":"foundation.analyticsProperties","summary":"GA4 properties and Search Console sites the connected Google account can read","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which google analytics properties can we pick from"},{"zone":"crm","key":"review.queue","summary":"Generated content awaiting approval","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's waiting for my approval"},{"zone":"crm","key":"workflows.get","summary":"Get a workflow with its live version, its working draft and version history","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the quote follow-up workflow"},{"zone":"crm","key":"companies.get","summary":"Get one company with its contacts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"pull up Timp Ridge Homes"},{"zone":"crm","key":"contacts.get","summary":"Get one contact with its emails, phones and associations","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"pull up Dale Hendricks"},{"zone":"crm","key":"deals.get","summary":"Get one deal by id with its contact, pipeline and stage","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"pull up the Johnson court deal"},{"zone":"crm","key":"forms.get","summary":"Get one form with its fields","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the contact form fields"},{"zone":"crm","key":"setup.checklist","summary":"Get set up: one ordered setup list with one progress number","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how far along is setup"},{"zone":"crm","key":"lead.settings","summary":"Lead's own settings (agent mode, speed-to-lead target, channels). Everything else comes from the workspace","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is the lead agent on"},{"zone":"crm","key":"lead.playbooks","summary":"Lead's playbooks: the questions the assistant works through, its tone and its guardrails","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what questions does the lead assistant ask"},{"zone":"crm","key":"series.list","summary":"Lifecycle series, with their workflow status","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what lifecycle series are running"},{"zone":"crm","key":"reviews.retention","summary":"Lifetime value, repeat customers, win-back list, survey results and service reminders","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who should we win back"},{"zone":"crm","key":"contacts.list","summary":"List and filter contacts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me leads from Draper"},{"zone":"crm","key":"calendars.list","summary":"List calendars with their members and upcoming counts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what calendars do we have"},{"zone":"crm","key":"companies.list","summary":"List companies","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me all our companies"},{"zone":"crm","key":"deals.list","summary":"List deals, optionally filtered to one pipeline, stage, status or owner, and sorted","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me open deals over 20k"},{"zone":"crm","key":"forms.list","summary":"List forms with their submission counts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how many submissions did each form get"},{"zone":"crm","key":"sources.list","summary":"List inbound webhook sources","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what lead sources are hooked up"},{"zone":"crm","key":"contacts.duplicates","summary":"List likely duplicate contacts by shared email or phone","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"do we have any duplicate contacts"},{"zone":"crm","key":"pipelines.list","summary":"List pipelines with their stages","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what stages are in the sales pipeline"},{"zone":"crm","key":"locations.list","summary":"List properties (service addresses), optionally for one customer or matching an address","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what properties does Maria Lopez have"},{"zone":"crm","key":"properties.list","summary":"List property definitions for an object type","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what custom fields do contacts have"},{"zone":"crm","key":"tags.list","summary":"List tags with their contact counts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what tags do we use"},{"zone":"crm","key":"tasks.list","summary":"List tasks — mine, everyone’s, overdue, due today or upcoming","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's due today"},{"zone":"crm","key":"pipelines.lostReasons","summary":"List the configured lost reasons","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what are our lost reasons"},{"zone":"crm","key":"workflows.list","summary":"List workflows with their enrollment stats","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what workflows do we have"},{"zone":"crm","key":"members.list","summary":"List workspace members with their roles and overrides","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who's on the team"},{"zone":"crm","key":"deals.recordAccepted","summary":"Mark the deal won when its estimate is accepted (or add a won deal), as an internal update","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"estimate #1042 was accepted, mark the Hendricks deal won"},{"zone":"crm","key":"notes.list","summary":"Notes on a contact, company or deal — pinned first, then newest","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what notes are on Dale Hendricks"},{"zone":"crm","key":"locations.get","summary":"One property with its people, equipment (warranty status), files and email alias","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the Hendricks lake house"},{"zone":"crm","key":"lead.start","summary":"Open a Lead cycle for a CRM contact (no-op if one is open) and mark a subscriber as a lead. Sends no message","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"add Maria Lopez to leads"},{"zone":"crm","key":"lead.pipeline","summary":"Open leads grouped by stage, with a count per stage","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how many leads are qualified"},{"zone":"crm","key":"lead.feed","summary":"Open leads, the ones that need attention first (missed speed-to-lead, waiting on a person, no reply yet)","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which new leads need a reply"},{"zone":"crm","key":"social.preview","summary":"Per-platform variants for a draft, with the issues each one has","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how will this post look on instagram and facebook"},{"zone":"crm","key":"workflows.stepStats","summary":"Per-step volume, skips and failures for a workflow","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"where do people drop off in the quote follow-up"},{"zone":"crm","key":"numbers.list","summary":"Phone numbers and their missed-call text-back settings","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what phone numbers do we have"},{"zone":"crm","key":"social.queue","summary":"Posts waiting for review or approval","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what posts are waiting for review"},{"zone":"crm","key":"locations.addEquipment","summary":"Record a piece of equipment at a property, with its warranty","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"the Elm St property has a Carrier furnace, installed 2019, warranty until 2029-05-01"},{"zone":"crm","key":"activities.recordExternal","summary":"Record another Peak app’s event on a contact’s timeline (once per event)","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"put \"Estimate #1042 accepted\" on the customer’s timeline"},{"zone":"crm","key":"reviews.referrals","summary":"Referrals, where they came from, and the top referrers","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who's referred us the most"},{"zone":"crm","key":"lead.rejectFollowup","summary":"Reject a waiting follow-up (nothing is sent)","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"skip the follow-up to Maria"},{"zone":"crm","key":"dashboard.metrics","summary":"Resolve named metrics for a period, with period-over-period change","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how many leads did we get this month vs last"},{"zone":"crm","key":"reviews.settings","summary":"Review links, request timing and templates, widget, referral and retention settings","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what are our review request settings"},{"zone":"crm","key":"reviews.requests","summary":"Review requests with delivery, click and review tracking","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which review requests got clicked"},{"zone":"crm","key":"workflows.runs","summary":"Runs for a workflow, with their current step and outcome","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me runs for the quote follow-up workflow"},{"zone":"crm","key":"snippets.list","summary":"Saved replies for the composer","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what saved replies do we have"},{"zone":"crm","key":"views.list","summary":"Saved views for a table — shared ones plus your own","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what saved views do we have"},{"zone":"crm","key":"social.calendar","summary":"Scheduled and published posts in a window","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's posting this week"},{"zone":"crm","key":"sms.preview","summary":"Segment count and encoding for a draft SMS","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how many segments is this text: 'Hi Dale, your crew arrives thursday at 8am'"},{"zone":"crm","key":"sending.domains","summary":"Sending domains and their verification and warm-up state","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is our sending domain verified"},{"zone":"crm","key":"sites.list","summary":"Sites this workspace is connected to, and when the tracking script last checked in","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is the tracking script on our site"},{"zone":"crm","key":"sms.templates","summary":"SMS templates, with their segment counts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what sms templates do we have"},{"zone":"crm","key":"lead.report","summary":"Speed to lead, how many leads were answered, handed to a person, qualified and booked, over a window","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how fast are we answering new leads"},{"zone":"crm","key":"deals.aiSummary","summary":"Summarise a deal and suggest the next step with AI","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"summarize the Hendricks deal and tell me what to do next"},{"zone":"crm","key":"workflows.testRun","summary":"Test a version (usually the draft) on a contact as a dry run","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"test the quote follow-up on Dale Hendricks without sending"},{"zone":"crm","key":"ai.providers","summary":"The AI providers configured for this workspace, and what is available","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which ai providers are hooked up"},{"zone":"crm","key":"calendars.availability","summary":"The availability rules on a calendar","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what hours is the estimate calendar open"},{"zone":"crm","key":"foundation.checklist","summary":"The digital-foundation checklist with each item’s status, evidence and guide","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's left on the digital foundation checklist"},{"zone":"crm","key":"conversations.list","summary":"The inbox list, filtered by view","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's in my inbox"},{"zone":"crm","key":"deals.board","summary":"The kanban view: every stage of a pipeline with its deals, totals and weighted forecast","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how much is in the pipeline right now"},{"zone":"crm","key":"conversations.senders","summary":"The numbers and addresses this workspace can send from","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what numbers can we text from"},{"zone":"crm","key":"onboarding.status","summary":"The onboarding checklist, with every auto-check re-evaluated","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's left to set up"},{"zone":"crm","key":"integrations.list","summary":"The provider grid with connection status and health","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's connected right now"},{"zone":"crm","key":"reviews.list","summary":"The reviews inbox, with rating and unreplied filters and headline numbers","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"any reviews I haven't replied to"},{"zone":"crm","key":"submissions.list","summary":"The submission log with raw payloads, mapping results and errors","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the latest form submissions"},{"zone":"crm","key":"contacts.timeline","summary":"The unified activity timeline for a contact","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's happened with Dale Hendricks so far"},{"zone":"crm","key":"audit.list","summary":"The workspace audit log","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who changed the Hendricks deal last week"},{"zone":"crm","key":"brand.get","summary":"The workspace brand kit","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what's our brand voice"},{"zone":"crm","key":"workspaces.current","summary":"The workspace in context, with its effective feature flags and limits","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what plan are we on"},{"zone":"crm","key":"today.list","summary":"Today: who is waiting on a reply, new leads not contacted, stale deals, tasks overdue or due today","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what needs me today"},{"zone":"crm","key":"companies.update","summary":"Update a company","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"change Timp Ridge Homes' industry to builder"},{"zone":"crm","key":"contacts.update","summary":"Update a contact","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"Dale Hendricks moved to Provo, update his city"},{"zone":"crm","key":"assets.variants","summary":"Variants generated for one asset","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what sizes do we have of the logo"},{"zone":"crm","key":"audit.verify","summary":"Verify the audit log hash chain for this workspace","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is the audit log intact"},{"zone":"crm","key":"foundation.competitors","summary":"Watched competitors with their latest known numbers, your own for comparison, and what changed","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how do our competitors look"},{"zone":"crm","key":"foundation.analytics","summary":"Website analytics: GA4 and Search Console, last 28 days against the 28 before","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how's the website doing vs last month"},{"zone":"crm","key":"setup.status","summary":"What this workspace has connected of the bring-your-own requirements","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what have we got connected"},{"zone":"crm","key":"legal.workspaceStatus","summary":"Which workspace attestations the current user still owes","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"do I owe any agreements to sign"},{"zone":"crm","key":"setup.sendRoutes","summary":"Whose provider carries this workspace’s live email and texts","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who sends our texts and emails"},{"zone":"crm","key":"dashboard.summary","summary":"Workspace overview: leads, pipeline, tasks, capture health","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how are we doing this week"}],"draft_only":[{"zone":"crm","key":"social.savePost","summary":"Create or update a post and regenerate its variants","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft a post about the finished Lehi court"},{"zone":"crm","key":"workflows.save","summary":"Create or update a workflow definition as a new draft version","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft a workflow that texts new leads within 5 minutes"},{"zone":"crm","key":"email.saveTemplate","summary":"Create or update an email template","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"save an email template for the quote follow-up"},{"zone":"crm","key":"sms.saveTemplate","summary":"Create or update an SMS template","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"save an sms template for the arrival reminder"},{"zone":"crm","key":"lead.draftFollowup","summary":"Draft a follow-up for an open lead who already wrote in (saved for approval, never sent)","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft a follow-up text for Maria"},{"zone":"crm","key":"reviews.draftReply","summary":"Draft a reply to a review with AI (saved as a draft, never posted)","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft a reply to the 3 star review from Kyle B."},{"zone":"crm","key":"reviews.saveDraft","summary":"Save an edited reply draft","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"save my edit to the reply for Kyle's review"}],"confirm":[{"zone":"crm","key":"foundation.saveCompetitor","summary":"Add or edit a competitor to watch","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"start watching Summit Courts in Provo"},{"zone":"crm","key":"reviews.loadSamples","summary":"Add sample Google reviews to try the inbox (development and demo only)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"load some sample reviews so I can try it"},{"zone":"crm","key":"workspaces.archive","summary":"Archive this workspace: it disappears for everyone now and is deleted after 30 days unless restored","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"archive this workspace"},{"zone":"crm","key":"foundation.refreshCompetitor","summary":"Ask the connected data source for a fresh competitor snapshot","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"refresh the Summit Courts numbers"},{"zone":"crm","key":"conversations.update","summary":"Assign, star, snooze or close a conversation","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"assign the Hendricks conversation to Jake"},{"zone":"crm","key":"appointments.book","summary":"Book a slot","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"book Dale Hendricks for a site visit thursday at 2 in Lehi"},{"zone":"crm","key":"reviews.cancelRequest","summary":"Cancel a scheduled review request before it goes out","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"cancel the review request to Dale Hendricks"},{"zone":"crm","key":"appointments.setStatus","summary":"Confirm, complete, no-show or cancel an appointment","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"mark the Orem walkthrough as completed"},{"zone":"crm","key":"notes.update","summary":"Edit a note","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"change the Hendricks note to say gate code is 4417"},{"zone":"crm","key":"locations.update","summary":"Edit a property's name, address or notes","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the Elm St property is actually unit 4B"},{"zone":"crm","key":"snippets.update","summary":"Edit a snippet","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"change the arrival snippet to say friday"},{"zone":"crm","key":"tasks.update","summary":"Edit a task — title, notes, due date, assignee — or reopen it","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"move the Hendricks call to monday"},{"zone":"crm","key":"locations.updateEquipment","summary":"Edit equipment at a property (model, serial, warranty)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the Elm St furnace warranty was extended to 2031-05-01"},{"zone":"crm","key":"foundation.analyticsRefresh","summary":"Fetch fresh analytics instead of today’s cached copy","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"refresh the website numbers"},{"zone":"crm","key":"locations.linkContact","summary":"Link a contact to a property as owner, tenant, manager or other","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"Jen Ortiz is the tenant at 412 Elm St"},{"zone":"crm","key":"foundation.checkInGoal","summary":"Log the current number for a goal that has no connected data source","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"log 14 booked estimates for the monthly goal"},{"zone":"crm","key":"deals.moveStage","summary":"Move a deal to another stage, enforcing that stage’s required properties","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"move the Hendricks court deal to scheduled"},{"zone":"crm","key":"lead.setStage","summary":"Move a lead to a stage. Moves the CRM contact's lifecycle forward to match (never backward), which can start the workspace's lifecycle workflows","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"mark Maria Lopez as qualified"},{"zone":"crm","key":"social.reschedule","summary":"Move a post to another time","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"move the Draper court post to friday at noon"},{"zone":"crm","key":"appointments.reschedule","summary":"Move an appointment to a new time","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"move the Hendricks site visit to friday at 10"},{"zone":"crm","key":"notes.pin","summary":"Pin a note to the top of the record, or unpin it","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"pin the gate code note on Hendricks"},{"zone":"crm","key":"reviews.sync","summary":"Pull new reviews from every connected source now","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"pull in new google reviews"},{"zone":"crm","key":"reviews.completeJob","summary":"Record a finished job (fires job_completed)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"record the Hendricks job as completed so the review follow-up starts"},{"zone":"crm","key":"foundation.recordSnapshot","summary":"Record what you see on a competitor’s profiles today (reviews, rating, posting, website)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"log what Summit Courts shows today: 4.6 stars, 120 reviews"},{"zone":"crm","key":"foundation.removeGoal","summary":"Remove a company goal","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"remove the monthly leads goal"},{"zone":"crm","key":"contacts.removePhone","summary":"Remove a phone from a contact","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"remove the second phone number from Kyle Brown"},{"zone":"crm","key":"contacts.removeEmail","summary":"Remove an email from a contact","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"take the old email off Dale Hendricks"},{"zone":"crm","key":"views.update","summary":"Rename a view, re-save its filters and columns, or change who sees it","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"rename the Draper leads view to Utah County leads"},{"zone":"crm","key":"assets.update","summary":"Rename, retag or re-file an asset","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"rename that photo to Hendricks backyard before"},{"zone":"crm","key":"workflows.createFromDraft","summary":"Save a confirmed automation draft as a new, unpublished workflow","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"yes, save that automation"},{"zone":"crm","key":"snippets.create","summary":"Save a reply snippet. Merge fields like {{contact.first_name}} fill in at send time.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"save a reply: 'Thanks {{contact.first_name}}, we'll be out thursday'"},{"zone":"crm","key":"views.create","summary":"Save the current filters and columns as a named view","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"save this as a view called Draper leads"},{"zone":"crm","key":"foundation.updateItem","summary":"Set a checklist item’s status, evidence link or notes","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"mark the google business profile item as done"},{"zone":"crm","key":"foundation.saveGoal","summary":"Set a target for a company goal","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"set a goal of 40 booked estimates a month"},{"zone":"crm","key":"deals.reorder","summary":"Set the order of deals inside one stage column","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"put the Hendricks deal at the top of the quote sent column"},{"zone":"crm","key":"foundation.setTrade","summary":"Set the trade that picks which optional checklist items apply","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"we're a sport court builder, set the trade"},{"zone":"crm","key":"foundation.removeCompetitor","summary":"Stop watching a competitor (its history is kept)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"stop watching Summit Courts"},{"zone":"crm","key":"messaging.suppress","summary":"Suppress an address or number by hand","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"Kyle Brown asked to stop getting texts, suppress him"},{"zone":"crm","key":"reviews.referralLink","summary":"The customer’s personal referral link and code (created on first use)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"get Dale Hendricks' referral link"},{"zone":"crm","key":"locations.unlinkContact","summary":"Unlink a contact from a property","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"Jen Ortiz moved out of 412 Elm St"},{"zone":"crm","key":"deals.update","summary":"Update a deal","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"bump the Hendricks deal to 42k"},{"zone":"crm","key":"reviews.updateReferral","summary":"Update a referral’s status or the referrer’s reward","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"mark the Hendricks referral as won"},{"zone":"crm","key":"assets.upload","summary":"Upload a file and generate its standard variants","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"upload the Draper site plan pdf"},{"zone":"crm","key":"conversations.cancelScheduled","summary":"Withdraw a scheduled message before it goes","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"cancel the text to Dale that's set for tomorrow"}],"approval_send":[{"zone":"crm","key":"lead.approveFollowup","summary":"Approve (and optionally edit) a waiting follow-up; it is sent as you, through the same checks as any message","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"approve the follow-up to Maria"},{"zone":"crm","key":"review.decide","summary":"Approve, reject or edit a generated asset","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"approve the spring email draft"},{"zone":"crm","key":"reviews.requestReview","summary":"Ask one customer for a review now (contact or deal action)","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"ask Dale Hendricks for a review"},{"zone":"crm","key":"workflows.enroll","summary":"Enroll a contact manually, optionally as a dry run","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"put Dale Hendricks in the quote follow-up workflow"},{"zone":"crm","key":"social.setStatus","summary":"Move a post through review, approval and scheduling","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"schedule the Lehi court post"},{"zone":"crm","key":"conversations.reply","summary":"Send a reply (now or scheduled), or add an internal note","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"text Dale Hendricks that we're running 30 min late"},{"zone":"crm","key":"conversations.start","summary":"Start a new SMS or email to a contact","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"text Kyle Brown to ask how the quote looks"},{"zone":"crm","key":"conversations.retry","summary":"Try a failed message again","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"that text to Dale failed, try it again"}],"blocked_remote":[{"zone":"crm","key":"pipelines.createLostReason","summary":"Add a lost reason","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.addPhone","summary":"Add a staff phone to Sherpa and text it a verification code","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.addStage","summary":"Add a stage to a pipeline","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"tags.assign","summary":"Add or remove a tag across many contacts at once","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"contacts.bulkTag","summary":"Add or remove a tag on every selected contact","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"copies.save","summary":"Add or update a data copy destination","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"imports.preview","summary":"Analyse a CSV before importing: detected format, mapping, and what would change","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"deals.bulkUpdate","summary":"Apply one change to many deals: move stage, change owner, mark won or mark lost","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"review.approveAll","summary":"Approve every outstanding item of a kind","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.approvePending","summary":"Approve or reject an AI action waiting for approval; an approval runs it as the requester","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workspaces.cancelDeletion","summary":"Cancel a scheduled workspace deletion during the grace period","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"members.setRole","summary":"Change a member’s role and per-workspace permission overrides","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"numbers.update","summary":"Change a number’s text-back settings","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.updatePhone","summary":"Change a staff phone's Sherpa role or label","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"lead.updateSettings","summary":"Change Lead's settings. Turning the agent on is done in the app, never remotely","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"foundation.analyticsSelect","summary":"Choose which GA4 property and Search Console site to report on","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.resetPin","summary":"Clear a Sherpa PIN (its holder sets a new one)","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.connect","summary":"Connect a client-owned AI key, verifying it with a real call before saving","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"integrations.connectApiKey","summary":"Connect an API-key provider. The key is envelope-encrypted and never returned.","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"calendars.create","summary":"Create a bookable calendar","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.createApiKey","summary":"Create a personal API key for an AI client. The secret is shown once.","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.create","summary":"Create a pipeline with its stages","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"properties.createGroup","summary":"Create a property group","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"lead.savePlaybook","summary":"Create or edit a Lead playbook (questions, tone, guardrails); set it as the default","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"forms.save","summary":"Create or replace a form and its fields","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.saveReminderRule","summary":"Create or update a service reminder (e.g. resurface roof inspections after 12 months)","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sources.save","summary":"Create or update an inbound source and its field mapping","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"webhooks.save","summary":"Create or update an outbound webhook with HMAC signing","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"onboarding.start","summary":"Create the onboarding checklist for this workspace","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sources.setSigningSecret","summary":"Create, replace or remove the signing secret of an inbound source","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"properties.create","summary":"Define a new property","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.deleteLostReason","summary":"Delete a lost reason, or archive it when deals still use it","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"notes.delete","summary":"Delete a note, and its timeline entry","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.delete","summary":"Delete a pipeline, moving its deals to another pipeline first","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"social.deletePost","summary":"Delete a post that has not published","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"properties.delete","summary":"Delete a property, or hide it when a playbook owns it","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"views.delete","summary":"Delete a saved view (the contacts in it are untouched)","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.deleteReminderRule","summary":"Delete a service reminder rule and its pending reminders","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"snippets.delete","summary":"Delete a snippet","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.deleteStage","summary":"Delete a stage, moving its deals to another stage in the same pipeline","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"tasks.delete","summary":"Delete a task","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"assets.delete","summary":"Delete an asset and its variants","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"integrations.disconnect","summary":"Disconnect a provider and delete its stored credential","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"foundation.analyticsDisconnect","summary":"Disconnect Google analytics and delete its stored tokens and cached reports","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"copies.exportCsv","summary":"Download contacts or deals as a CSV file","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"contacts.bulkEnroll","summary":"Enroll every selected contact in a workflow","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"privacy.delete","summary":"Erase a contact and cascade the deletion to PostHog","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.prompts","summary":"Every prompt template on disk with its version hash","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"exports.contacts","summary":"Export contacts as rows for CSV download","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"privacy.export","summary":"Export everything held about one contact as JSON","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"privacy.search","summary":"Find every record held for one person, by email or phone","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workspaces.exportAll","summary":"Full workspace export (JSON), required before deletion","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"locations.rotateAlias","summary":"Give a property a new email alias; the old one stops logging","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"contacts.bulkAssignOwner","summary":"Give every selected contact the same owner, or clear it","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"imports.commit","summary":"Import a batch of rows, creating any missing properties that were confirmed","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"foundation.installPlaybook","summary":"Install a playbook as drafts: a draft workflow, or draft posts on the social calendar","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"playbooks.install","summary":"Install a playbook, personalising every asset from the intake answers","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"members.invite","summary":"Invite someone to a workspace by email","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sources.rotateKey","summary":"Issue a new secret URL for an inbound source; the old URL stops working at once","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.rotateWidgetKey","summary":"Issue a new widget key; embeds using the old one stop showing reviews","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"onboarding.launch","summary":"Launch the workspace, if every required item is done","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"meta.connectPage","summary":"Link a Facebook page (and its Instagram account) to this inbox","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"setup.skip","summary":"Mark a setup item \"set up later\", or bring it back","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"contacts.merge","summary":"Merge one contact into another, preserving every activity, tag and deal","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.postReply","summary":"Post a reply to the review platform (a person’s action, never automatic)","tier":"blocked_remote","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workflows.publish","summary":"Publish a draft version and make it the one new enrollments use","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.connectGoogle","summary":"Pull reviews from a Google Business Profile location","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"legal.attestWorkspace","summary":"Record the business-use, 18+ and Messaging Policy attestation for this workspace","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sending.addDomain","summary":"Register a sending domain","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sites.save","summary":"Register a site for the tracking script and, for Sanity, its dataset","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"copies.remove","summary":"Remove a data copy destination","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"members.remove","summary":"Remove a member and revoke their sessions","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"locations.delete","summary":"Remove a property (its timeline, equipment and files go with it)","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.removePhone","summary":"Remove a staff phone from Sherpa","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"messaging.unsuppress","summary":"Remove a suppression, when the person has asked to be added back","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.disconnect","summary":"Remove an AI provider and delete its stored key","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.update","summary":"Rename a pipeline, archive or restore it, or make it the default","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.updateStage","summary":"Rename, recolour or reconfigure a stage","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.updateLostReason","summary":"Rename, reorder, archive or restore a lost reason","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"calendars.setAvailability","summary":"Replace a calendar’s availability rules","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workspaces.provisionPosthog","summary":"Retry PostHog project provisioning for a workspace","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.revokeApiKey","summary":"Revoke an API key. Its pending AI actions can no longer run.","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"setup.test","summary":"Run the live connection check for one setup requirement","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"setup.saveSection","summary":"Save one section of the setup form","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.saveSettings","summary":"Save review settings","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.saveSettings","summary":"Save the Sherpa command number, channels and limits","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workspaces.requestDeletion","summary":"Schedule this workspace for deletion after a 30-day grace period","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.updateSettings","summary":"Set model defaults per task, spend caps and PII redaction","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"pipelines.reorderStages","summary":"Set the order of a pipeline’s stages in one step","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"calendars.setMembers","summary":"Set who is bookable on a calendar","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.setPin","summary":"Set your Sherpa PIN for approving money and customer messages by text","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workspaces.setVitalsConsent","summary":"Share (or stop sharing) aggregate counts with your agency: leads, untouched leads, setup score, estimates","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.settings","summary":"Sherpa settings, staff phones and status","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.setWidgetVisibility","summary":"Show or hide one review on the website widget","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"companies.delete","summary":"Soft-delete a company","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"contacts.delete","summary":"Soft-delete a contact","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"deals.delete","summary":"Soft-delete a deal","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"contacts.bulkDelete","summary":"Soft-delete every selected contact","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"deals.bulkDelete","summary":"Soft-delete many deals at once","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"reviews.disconnectSource","summary":"Stop syncing a review source (its reviews stay)","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.test","summary":"Test the connected AI provider with a short completion and one tool call","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.resendCode","summary":"Text a new Sherpa verification code","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"onboarding.setItem","summary":"Tick or skip a checklist item by hand","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"ai.setRule","summary":"Tighten (or reset) the policy tier of one operation for one role","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workflows.setStatus","summary":"Turn a workflow on or off","tier":"blocked_remote","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"calendars.update","summary":"Update a calendar","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"properties.update","summary":"Update a property’s label, options or layout flags","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"brand.update","summary":"Update the brand kit","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"workspaces.update","summary":"Update workspace settings","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.verifyPhone","summary":"Verify a staff phone with the code Sherpa texted it","tier":"blocked_remote","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":null},{"zone":"crm","key":"sherpa.history","summary":"Your recent Sherpa chat","tier":"blocked_remote","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":null}]},"counts":{"auto":127,"draft_only":7,"confirm":44,"approval_send":8,"blocked_remote":111}},{"zone":"estimator","label":"Estimates","status":"ok","complete":false,"groups":{"auto":[{"zone":"estimator","key":"lines.addCustom","summary":"Add a custom line that is not in the price book","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a drainage line to the Best option on Hendricks"},{"zone":"estimator","key":"options.add","summary":"Add a good/better/best option to an estimate version","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a \"Best\" option called Premium Cushion to the Hendricks estimate"},{"zone":"estimator","key":"areas.add","summary":"Add a measured area (rectangle, polygon, takeoff from an image, etc.) to an estimate","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a 60 by 120 court area to Hendricks"},{"zone":"estimator","key":"assemblies.add","summary":"Add a price-book assembly (a priced bundle of lines) to an option","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add the court resurfacing assembly to Hendricks Better with 7200 sqft"},{"zone":"estimator","key":"lines.addCatalog","summary":"Add a price-book item to an option","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add 2 windscreens to the Better option"},{"zone":"estimator","key":"lines.update","summary":"Change a line’s description, quantity, or add-on / recurring / taxable flags, or a person’s price override","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"change the windscreen quantity on Hendricks Better to 4"},{"zone":"estimator","key":"assemblies.updateInputs","summary":"Change the inputs of an assembly on an option; its lines recalculate","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"change the resurfacing area on Hendricks to 7800 sqft"},{"zone":"estimator","key":"pricebook.previewCsv","summary":"Check a price book CSV before importing: column mapping and every row’s problems","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"check this price list csv before importing it"},{"zone":"estimator","key":"pricebook.health","summary":"Check a price book version for stale costs, placeholders and failing assemblies","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is anything in the price book out of date"},{"zone":"estimator","key":"estimates.readiness","summary":"Check whether an estimate is ready to send, and what is blocking it","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is the Hendricks estimate ready to send?"},{"zone":"estimator","key":"options.clone","summary":"Copy an option as a new tier, optionally swapping price-book items","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"copy the Better option as a Best option called Tournament"},{"zone":"estimator","key":"estimates.update","summary":"Edit a draft estimate: customer, site, notes, scope, inclusions/exclusions, schedule, valid-until, deposit %, hide line prices","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"change the email on the Hendricks estimate to hendricks@example.com"},{"zone":"estimator","key":"estimates.byContact","summary":"Estimates linked to one Peak CRM contact, with how many are open and their total","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which estimates belong to crm contact 7a3c1f2e-0b4d-4e5f-8a9b-1c2d3e4f5a6b"},{"zone":"estimator","key":"estimates.attention","summary":"Estimates that need a nudge today: opened by the customer but not answered (oldest look first), and offers running out within 3 days","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which estimates have customers looked at but not answered?"},{"zone":"estimator","key":"trust.rules","summary":"Explain what Sherpa and AI drafts will and won’t do in Estimator, with the rule for each AI action","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"can the AI set prices on my estimates?"},{"zone":"estimator","key":"pricebook.searchItems","summary":"Find price book items by name, key, vendor or SKU","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what does the price book charge for windscreens"},{"zone":"estimator","key":"crm.repoint","summary":"Follow a Peak CRM contact merge: move every estimate and invoice from one contact to another","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"crm contact 7a3c1f2e-0b4d-4e5f-8a9b-1c2d3e4f5a6b was merged into 0e1d2c3b-4a59-4687-9a0b-c1d2e3f4a5b6"},{"zone":"estimator","key":"invoices.byContact","summary":"Invoices linked to one Peak CRM contact, with what is owed and what is paid","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which invoices belong to crm contact 7a3c1f2e-0b4d-4e5f-8a9b-1c2d3e4f5a6b"},{"zone":"estimator","key":"invoices.overdue","summary":"Invoices past their due date with money still owed, most overdue first, with the total outstanding","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which invoices are past due?"},{"zone":"estimator","key":"crm.link","summary":"Link an estimate or invoice to a Peak CRM contact (and deal)","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"link estimate 1b2c3d4e-5f60-4718-8a9b-0c1d2e3f4a5b to crm contact 7a3c1f2e-0b4d-4e5f-8a9b-1c2d3e4f5a6b"},{"zone":"estimator","key":"subcosts.list","summary":"List awarded subcontractor prices from PeakPM waiting for review or already decided, for one estimate or all","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"any awarded sub prices to review"},{"zone":"estimator","key":"contracts.list","summary":"List contracts and change orders, optionally for one estimate","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which contracts are still waiting on a signature?"},{"zone":"estimator","key":"estimates.list","summary":"List estimates, newest first, optionally by status","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which estimates are still in draft?"},{"zone":"estimator","key":"invoices.list","summary":"List invoices, optionally by status or estimate","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which invoices are still unpaid?"},{"zone":"estimator","key":"payments.list","summary":"List recent payments received","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what payments came in this week?"},{"zone":"estimator","key":"sherpa.listPending","summary":"List Sherpa actions waiting for a yes or an owner’s approval","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what is waiting for my approval in estimates"},{"zone":"estimator","key":"suggestions.list","summary":"List the AI drafts (line items and scope) on an estimate and whether they were accepted","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"are there any AI drafts waiting on the Hendricks estimate?"},{"zone":"estimator","key":"pricebook.listAssemblies","summary":"List the assemblies (priced job recipes) in a price book version","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what assemblies do we have for resurfacing"},{"zone":"estimator","key":"contracts.listTemplates","summary":"List the contract templates","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what contract templates do we have?"},{"zone":"estimator","key":"templates.list","summary":"List the estimate templates new estimates can start from","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what templates do we have?"},{"zone":"estimator","key":"pricebook.list","summary":"List the price books and their versions","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what price books do we have"},{"zone":"estimator","key":"pricebook.starterBooks","summary":"List the starter price books a workspace can import (six trades)","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which starter price books are there"},{"zone":"estimator","key":"estimates.get","summary":"Look up one estimate: customer, site, status, scope, options, lines and totals","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what’s on the Hendricks estimate?"},{"zone":"estimator","key":"takeoff.measure","summary":"Measure a takeoff (area, length or count) from image points and a scale reference, with the audit trail, without saving","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how many square feet is this court outline at 10 pixels per foot"},{"zone":"estimator","key":"contracts.get","summary":"Open one contract with its signers, signing history and change orders","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"has Dave Brown signed his contract yet?"},{"zone":"estimator","key":"invoices.get","summary":"Open one invoice with its lines, payments, credits and balance","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what is still owed on the Lopez deposit invoice?"},{"zone":"estimator","key":"quickbooks.status","summary":"QuickBooks sync status: connected company, last sync, waiting and failed pushes","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is QuickBooks syncing?"},{"zone":"estimator","key":"presets.get","summary":"Read the AI house rules (standing instructions) applied to every AI draft","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what are my AI house rules"},{"zone":"estimator","key":"settings.get","summary":"Read the business settings: brand, legal text, tax, timezone and CRM pipeline","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what sales tax rate is set up"},{"zone":"estimator","key":"quickbooks.syncLog","summary":"Recent QuickBooks sync activity and the pushes that need attention","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what failed in the QuickBooks sync?"},{"zone":"estimator","key":"xero.syncLog","summary":"Recent Xero sync activity and the pushes that need attention","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what failed in the Xero sync?"},{"zone":"estimator","key":"suggestions.reject","summary":"Reject an AI draft so it is not applied","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"toss the AI line-item draft on Hendricks"},{"zone":"estimator","key":"options.update","summary":"Rename an option, change its tier or summary, or mark it recommended","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make the Premium option the recommended one"},{"zone":"estimator","key":"areas.takeoffAudit","summary":"Show how a takeoff area’s quantity was measured: scale, points and every step","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me how the Hendricks court area was measured"},{"zone":"estimator","key":"photos.setIncluded","summary":"Show or hide a site photo in the customer proposal","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"hide the drainage photo from the Hendricks proposal"},{"zone":"estimator","key":"billing.getSettings","summary":"Show the billing settings: numbering, payment terms, reminders and whether Stripe is connected","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what are our default invoice terms?"},{"zone":"estimator","key":"estimates.activity","summary":"Show the recent history of an estimate (who changed, sent or accepted what)","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what happened on the Hendricks estimate this week?"},{"zone":"estimator","key":"billing.getSchedule","summary":"The payment schedule of an accepted job: each step’s amount today, retainage held, and which steps are invoiced","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what is the payment schedule on the Hendricks job"},{"zone":"estimator","key":"billing.summary","summary":"What has been billed on an estimate and which invoice can come next","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"can I bill the final on the Hendricks job yet?"},{"zone":"estimator","key":"xero.status","summary":"Xero sync status: connected company, last sync, waiting and failed pushes","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is Xero syncing?"}],"draft_only":[{"zone":"estimator","key":"suggestions.requestDraftLines","summary":"Ask the AI to draft options and line items from the measured areas","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft the line items for the Hendricks estimate"},{"zone":"estimator","key":"suggestions.requestScope","summary":"Ask the AI to draft the scope of work, inclusions and exclusions","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"write up the scope for the Hendricks job"},{"zone":"estimator","key":"estimates.duplicate","summary":"Copy an estimate into a new draft, for the same customer or a new one","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"copy the Hendricks estimate for Susan Park"},{"zone":"estimator","key":"contracts.createFromEstimate","summary":"Draft a contract from an accepted estimate","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"draft the contract for the Hendricks job"},{"zone":"estimator","key":"invoices.createFromEstimate","summary":"Draft a deposit, progress or final invoice from an accepted estimate","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"draft the deposit invoice for the Hendricks job"},{"zone":"estimator","key":"drafts.fromDescription","summary":"Draft an estimate’s scope from a description of the job, using only the price book","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft the Hendricks estimate: resurface two courts, add net posts and haul away the old fence"},{"zone":"estimator","key":"drafts.fromWalkthrough","summary":"Draft an estimate’s scope from a transcript of a voice walkthrough","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"turn my walkthrough into a draft for the Hendricks estimate"},{"zone":"estimator","key":"drafts.fromPhotos","summary":"Draft an estimate’s scope from its job-site photos","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"draft the Hendricks estimate from the photos I took"},{"zone":"estimator","key":"invoices.createFromSchedule","summary":"Draft the invoice for one payment-schedule step (deposit, progress draw with retainage, or final)","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"draft the base coat progress invoice from the Hendricks schedule"},{"zone":"estimator","key":"contracts.updateDraft","summary":"Edit a draft contract’s title, wording, initials setting or signers","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"add Maria Lopez as a co-signer on the Lopez contract"},{"zone":"estimator","key":"invoices.updateDraft","summary":"Edit a draft invoice: title, memo, customer details, terms, or (people only) prices, discounts and tax","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"change the memo on the Hendricks invoice to \"Thanks for your business\""},{"zone":"estimator","key":"subcosts.draftFromAward","summary":"Record a subcontractor price awarded in PeakPM against the matching estimate line, as a draft for the owner to confirm","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"log the awarded concrete sub price on the Hendricks estimate"},{"zone":"estimator","key":"invoices.createBlank","summary":"Start a blank draft invoice for a customer","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"start a blank invoice for Dave Brown"},{"zone":"estimator","key":"estimates.create","summary":"Start a new draft estimate for a customer","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"start an estimate for Dave Brown, 2 pickleball courts in Lehi"},{"zone":"estimator","key":"estimates.createFromTemplate","summary":"Start a new draft estimate from a saved template","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"start a new estimate for the Lopez family from the two-court resurface template"}],"confirm":[{"zone":"estimator","key":"suggestions.accept","summary":"Apply an AI draft to the estimate (optionally edited first, or with the answers to a job draft’s questions)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"apply the AI line items to the Hendricks estimate"},{"zone":"estimator","key":"areas.update","summary":"Change a measured area; linked quantities recalculate","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the Hendricks court is actually 64 by 120, update the area"},{"zone":"estimator","key":"drafts.setRules","summary":"Change the AI house rules for one estimate only (extra instructions, markups, tax scope, fees)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"for the Hendricks estimate only, use a 40% labor markup"},{"zone":"estimator","key":"assemblies.confirmInput","summary":"Confirm an AI-suggested assembly input","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"confirm the court area input on the Hendricks resurfacing assembly"},{"zone":"estimator","key":"areas.confirm","summary":"Confirm an AI-suggested measured area","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"confirm the court area on Hendricks"},{"zone":"estimator","key":"lines.confirmQty","summary":"Confirm an AI-suggested quantity on a line","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"confirm the court surface quantity on Hendricks"},{"zone":"estimator","key":"subcosts.confirm","summary":"Confirm an awarded sub price: on a draft estimate it becomes the line’s cost; on a sent or accepted one it is only recorded","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"confirm the excavation sub price on that estimate line"},{"zone":"estimator","key":"subcosts.dismiss","summary":"Dismiss an awarded sub price without changing the estimate","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"ignore that sub price, it was for the old scope"},{"zone":"estimator","key":"pricebook.importStarter","summary":"Import a trade starter price book as a new draft (starter estimates from public cost guides)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"import the roofing starter price book"},{"zone":"estimator","key":"pricebook.importCsv","summary":"Import price book items from a CSV into a draft (new items added, matching keys updated)","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"import my supplier price list csv into the price book"},{"zone":"estimator","key":"quickbooks.queueUnsynced","summary":"Queue every sent invoice that is not in QuickBooks yet","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"send my older invoices to QuickBooks"},{"zone":"estimator","key":"xero.queueUnsynced","summary":"Queue every sent invoice that is not in Xero yet","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"send my older invoices to Xero"},{"zone":"estimator","key":"estimates.reprice","summary":"Re-price a draft estimate to a newer published version of its price book","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"re-price the Hendricks estimate to the latest price book"},{"zone":"estimator","key":"estimates.retryCrmSync","summary":"Retry a failed CRM hand-off or deal-stage update","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"retry the GHL hand-off on the Hendricks job"},{"zone":"estimator","key":"quickbooks.retry","summary":"Retry one failed QuickBooks push","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"retry the failed QuickBooks invoice"},{"zone":"estimator","key":"xero.retry","summary":"Retry one failed Xero push","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"retry the failed Xero invoice"},{"zone":"estimator","key":"estimates.requestReview","summary":"Send a draft estimate to a manager for margin review","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"send the Hendricks estimate to a manager for review"},{"zone":"estimator","key":"billing.setSchedule","summary":"Set an accepted job’s payment schedule: deposit, progress draws and final as percents of the contract, plus retainage","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"set the Hendricks schedule to 30% deposit, 40% at base coat and the rest at completion"},{"zone":"estimator","key":"options.setGroups","summary":"Set an option’s pick-one choice groups (e.g. “Net system: standard or pro”), with a preselected, locked or repriced choice","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"let the customer choose between the standard and pro net on the Hendricks option"},{"zone":"estimator","key":"quickbooks.syncNow","summary":"Sync with QuickBooks now: send waiting invoices and payments, and bring in payments recorded in QuickBooks","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"sync QuickBooks"},{"zone":"estimator","key":"xero.syncNow","summary":"Sync with Xero now: send waiting invoices and payments, and bring in payments recorded in Xero","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"sync Xero"}],"approval_send":[{"zone":"estimator","key":"contracts.emailSignerLink","summary":"Email a signer their signing link","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"email the Hendricks contract to Tom Hendricks to sign"},{"zone":"estimator","key":"invoices.copyLink","summary":"Get a fresh customer link for a sent invoice","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"give me the payment link for the Lopez invoice"},{"zone":"estimator","key":"contracts.copySignerLink","summary":"Get a fresh signing link for one signer","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"get me Maria Lopez’s signing link"},{"zone":"estimator","key":"estimates.copyLink","summary":"Make a fresh link to an already-sent proposal","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"get me a new link for the Hendricks proposal"},{"zone":"estimator","key":"payments.recordManual","summary":"Record a cash, check, bank transfer or card payment received outside online checkout","tier":"approval_send","mutation":true,"customerFacing":false,"money":true,"undoable":false,"example":"Lopez paid invoice INV-1042 in full by check #1043 today"},{"zone":"estimator","key":"deposits.record","summary":"Record a deposit received offline (check, wire, cash …)","tier":"approval_send","mutation":true,"customerFacing":false,"money":true,"undoable":false,"example":"Hendricks paid the $2,500 deposit by check today"},{"zone":"estimator","key":"estimates.markAcceptedOffline","summary":"Record that the customer accepted an option by phone or in person","tier":"approval_send","mutation":true,"customerFacing":false,"money":true,"undoable":false,"example":"Hendricks said yes to the Premium option on the phone"},{"zone":"estimator","key":"estimates.markContractSigned","summary":"Record that the customer signed the contract outside Estimator (DocuSign)","tier":"approval_send","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"Hendricks signed the DocuSign, mark the contract signed"},{"zone":"estimator","key":"estimates.revise","summary":"Reopen a sent or accepted estimate as a new editable version","tier":"approval_send","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"reopen the Hendricks estimate so I can change it"},{"zone":"estimator","key":"contracts.send","summary":"Send a draft contract out for signature","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"send the Hendricks contract for signature"},{"zone":"estimator","key":"invoices.send","summary":"Send a draft invoice to the customer by email or as a copy-link","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"send the Hendricks deposit invoice"},{"zone":"estimator","key":"estimates.send","summary":"Send the proposal to the customer by email, or freeze it and make a link to share","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"send the Hendricks estimate"}],"blocked_remote":[]},"counts":{"auto":50,"draft_only":15,"confirm":21,"approval_send":12,"blocked_remote":0}},{"zone":"pm","label":"Projects","status":"ok","complete":false,"groups":{"auto":[{"zone":"pm","key":"costing.expenses","summary":"A job’s confirmed material, equipment and other receipt costs by category, awarded sub bids, and how many receipt drafts wait.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what have we spent on materials for Hendricks"},{"zone":"pm","key":"dailylogs.list","summary":"A project’s daily logs, newest first: who was on site, hours, weather, work done and delays.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the daily logs for the Hendricks job"},{"zone":"pm","key":"milestones.list","summary":"A project’s milestones with their target and reached dates.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what milestones are left on the Hendricks job"},{"zone":"pm","key":"customers.create","summary":"Add a customer with their name, phone, email and address.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a customer: Dana Hendricks, 801-555-0142, 412 Maple Street"},{"zone":"pm","key":"projects.addNote","summary":"Add a dated note to a project (gate codes, site access, customer requests).","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"note on the Hendricks job: gate code is 4471"},{"zone":"pm","key":"photos.tag","summary":"Add tags to photos, or take tags off them.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"tag those three pics \"punch list\""},{"zone":"pm","key":"checklist.answer","summary":"Answer or tick one checklist item on a started phase.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"check off forms installed on the Johnson court"},{"zone":"pm","key":"photos.attachFromMms","summary":"Attach a photo or pic someone texted in (MMS) to the right project, or to the project named.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add these pics to the Hendricks job"},{"zone":"pm","key":"customers.update","summary":"Change a customer’s name, phone, email, address or notes.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"the Hendricks new cell is 801-555-0177"},{"zone":"pm","key":"photos.update","summary":"Change a photo’s caption, or star it as a favourite.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"caption that last photo \"net posts set, waiting on concrete\""},{"zone":"pm","key":"issues.update","summary":"Change an issue’s title, description, severity or owner.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"bump the Hendricks drainage issue to critical"},{"zone":"pm","key":"timeclock.clockIn","summary":"Clock yourself in on a job (optionally a phase and cost code). Safe to retry: the same punch id never makes a second shift.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"clock me in on the Hendricks job"},{"zone":"pm","key":"timeclock.clockOut","summary":"Clock yourself out of the shift you are on. Safe to retry.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"clock me out"},{"zone":"pm","key":"issues.resolve","summary":"Close an open issue with a note on how it was resolved.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"the concrete showed up, close that issue on the Johnson court"},{"zone":"pm","key":"schedule.conflicts","summary":"Crews booked on two jobs at once inside a date window (two weeks from today by default).","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is anybody double booked next week"},{"zone":"pm","key":"dashboard.capacity","summary":"Day-by-day load for every crew over a date window: who is open and who is overbooked.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which crews are open next week"},{"zone":"pm","key":"rates.history","summary":"Every change to one work type’s production rate: adopted, declined or typed, by whom, from what to what, and how many jobs stood behind it.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"when did we last change the coating rate"},{"zone":"pm","key":"timeclock.history","summary":"Every correction made to one time entry: who changed it, when, why, and the values before and after.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who changed Marco’s hours on that entry"},{"zone":"pm","key":"schedule.today","summary":"Every crew and the jobs it is booked on today.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who is working where today"},{"zone":"pm","key":"schedule.bookings","summary":"Every crew booking (phase, project, crew, dates) inside a date window.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what is on the calendar the week of November 2"},{"zone":"pm","key":"photos.tags","summary":"Every photo tag the company uses.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what photo tags do we have"},{"zone":"pm","key":"rates.list","summary":"Every production rate (units of work per labor hour) by work type: what it bids at, whether that number is our seeded guess, typed by the owner or learned from finished jobs, and what the crews actually measured.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what production rates are we bidding with"},{"zone":"pm","key":"maintenance.plans","summary":"Every recurring maintenance plan: the work, the customer, how often, the last visit and when the next one is due.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which customers are on a maintenance plan"},{"zone":"pm","key":"photos.get","summary":"Fetch one photo with its caption, tags, phase, who took it and when.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who took that fence photo and when"},{"zone":"pm","key":"customers.search","summary":"Find customers by name, phone, email or address.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"look up the Hendricks customer record"},{"zone":"pm","key":"projects.search","summary":"Find projects by name, reference, customer name or job-site address.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"find the Hendricks job"},{"zone":"pm","key":"customers.findByPhone","summary":"Find the customer a phone number belongs to, however it is formatted.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"whose number is 801-555-0142"},{"zone":"pm","key":"costing.job","summary":"Job costing for one project: are labor hours tracking over or under the estimate, per cost code, and which code is the biggest cost mover.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"are we over on labor on the Hendricks job"},{"zone":"pm","key":"phases.list","summary":"List a project’s phases in order, with planned and actual dates, crew and status.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what are the phases on the Hendricks job"},{"zone":"pm","key":"projects.list","summary":"List active projects (jobs), newest activity first, optionally filtered by status or health.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what jobs do we have going right now"},{"zone":"pm","key":"crews.list","summary":"List crews by name, active ones only unless asked for inactive crews too.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what crews do we have"},{"zone":"pm","key":"customers.list","summary":"List customers alphabetically.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me our customer list"},{"zone":"pm","key":"issues.list","summary":"List issues and delays, open ones by default, for one project or every project.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what problems are open on the Hendricks job"},{"zone":"pm","key":"expenses.list","summary":"List job expenses from receipts: drafts waiting to be checked, confirmed costs, or voided ones, for a job or everywhere.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which expense drafts are waiting to be checked"},{"zone":"pm","key":"bids.list","summary":"List subcontractor bid requests, for a job or all, with who was invited, who bid and which bid is lowest.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which sub bids are still open"},{"zone":"pm","key":"templates.list","summary":"List the active project templates by name.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what templates do we have"},{"zone":"pm","key":"issues.create","summary":"Log an issue or delay on a project or one of its phases (weather, material, inspection and so on).","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"log a weather delay on the Hendricks base pour, rained out today"},{"zone":"pm","key":"equipment.logUsage","summary":"Log machine hours on a job (one machine, one day). Priced in job costing at the machine’s hourly cost that day. Safe to retry.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"ran the skid steer 6 hours on Hendricks today"},{"zone":"pm","key":"equipment.usage","summary":"Machine hours logged on jobs, newest first, for one machine or one job.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how many hours did the skid steer run on the Hendricks job"},{"zone":"pm","key":"equipment.serviceDue","summary":"Machines due or overdue for service by their hour meter (oil changes, filters, greasing).","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which machines need service"},{"zone":"pm","key":"milestones.complete","summary":"Mark a milestone reached today.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"we hit substantial completion on the Hendricks job"},{"zone":"pm","key":"phases.start","summary":"Mark a phase as started (the crew is on site and working it).","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"we just started excavation on the Johnson court"},{"zone":"pm","key":"phases.complete","summary":"Mark a phase complete (finished). Refused while required checklist items or photos are missing.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"base is done on the Hendricks job"},{"zone":"pm","key":"rates.suggestions","summary":"Measured rates worth adopting: work types where at least 3 finished jobs measured a rate 10% or more away from the bid rate. Silent otherwise.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"are our crews faster or slower than we bid"},{"zone":"pm","key":"dashboard.upcomingMilestones","summary":"Milestones due in the next few days across every project.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what milestones are coming up this week"},{"zone":"pm","key":"crm.repoint","summary":"Move PeakPM customers and jobs from a merged PeakCRM contact to the contact it was merged into. Used by Peak automations only.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"two CRM contacts were merged, carry their PeakPM jobs over"},{"zone":"pm","key":"bids.get","summary":"One bid request side by side: each sub’s bid, timeline, the lowest and fastest, and the scope.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"compare the fencing bids side by side"},{"zone":"pm","key":"crews.get","summary":"One crew with its members and the work booked for it over the next two weeks.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who is on Alpha crew"},{"zone":"pm","key":"customers.get","summary":"One customer with their contact details and every project for them.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what is the Hendricks phone number"},{"zone":"pm","key":"issues.get","summary":"One issue with its type, severity, delay days and resolution.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what was the rain delay on the Hendricks job about"},{"zone":"pm","key":"phases.get","summary":"One phase with its checklist and what still stands between it and complete.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the concrete pour phase on Hendricks"},{"zone":"pm","key":"photoreports.get","summary":"One photo report with its photos and the note under each.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"open the Hendricks completion report"},{"zone":"pm","key":"projects.get","summary":"One project in full: its status, health, projected finish date, phases, milestones and customer.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how is the Hendricks job looking"},{"zone":"pm","key":"templates.get","summary":"One template with its phases, durations, dependencies and checklists.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what phases are in the pickleball court template"},{"zone":"pm","key":"photos.createPair","summary":"Pair two photos of the same spot as a before/after.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make a before and after from the old slab pic and the finished court"},{"zone":"pm","key":"projects.readyPhases","summary":"Phases on a project that can start right now (every predecessor done).","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what can the crew start next on the Hendricks job"},{"zone":"pm","key":"shares.list","summary":"Photo share links and the portal for a project: active, expired or turned off, and view counts.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what photo links have we sent for the Hendricks job"},{"zone":"pm","key":"photos.forDay","summary":"Photos taken on one project on one day.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what did the crew shoot at the Johnson court on Tuesday"},{"zone":"pm","key":"maintenance.preview","summary":"Preview the maintenance visits coming due (default the next 60 days): each job that would be created, its due date, and whether it would be booked on the calendar or wait for a crew. Creates nothing.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what maintenance is coming due this month"},{"zone":"pm","key":"reports.summary","summary":"Projects by status, delay reasons, and estimated vs actual phase durations.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what is causing most of our delays"},{"zone":"pm","key":"projects.unscheduled","summary":"Projects not on the schedule yet: the backlog waiting for a start date.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what jobs still need to be scheduled"},{"zone":"pm","key":"dispatch.profit","summary":"Rank the week’s booked jobs by gross profit per crew day (not contract size), list each crew’s open days, and suggest unbooked work that fits them. Suggests only; nothing moves.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which jobs this week make the most per crew day"},{"zone":"pm","key":"equipment.readMeter","summary":"Record a machine’s hour-meter reading. Hour meters only count up. Safe to retry.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the skid steer reads 1,312 hours"},{"zone":"pm","key":"crm.link","summary":"Record which PeakCRM contact (and deal) a PeakPM customer or job belongs to. Used by Peak automations only.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"attach the CRM contact record to this PeakPM customer"},{"zone":"pm","key":"photos.annotate","summary":"Save a marked-up copy of a photo (arrows, circles, notes); the original is kept.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"circle the crack in the corner of that slab photo"},{"zone":"pm","key":"photos.list","summary":"Show (pull up) a project’s photos, newest first, with tags, optionally by phase, tag or day range.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show me the photos from the Hendricks job"},{"zone":"pm","key":"photos.inboxList","summary":"Show the photo inbox: texted, emailed or uploaded photos not filed yet, with the candidates for each.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what’s in the photo inbox"},{"zone":"pm","key":"schedule.previewReschedule","summary":"Show what moving or delaying a phase would do to the rest of the schedule, without changing anything.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what happens if we push the Hendricks pour 3 days"},{"zone":"pm","key":"photos.pairs","summary":"The before/after photo pairs on a project.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"any before and afters on the Hendricks job"},{"zone":"pm","key":"checklist.list","summary":"The checklist for a phase: each item, whether it is required, and the answer so far.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what’s left on the site review checklist for Hendricks"},{"zone":"pm","key":"costcodes.list","summary":"The cost codes time can be filed under (Base prep, Coating, Travel…).","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what cost codes can I clock to"},{"zone":"pm","key":"dailylogs.get","summary":"The daily log for one project on one day.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"who was on the Johnson court yesterday"},{"zone":"pm","key":"dispatch.board","summary":"The dispatch board view for a week: every crew lane with its bookings, work with no crew, and double-bookings.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"pull up the dispatch board for this week"},{"zone":"pm","key":"equipment.list","summary":"The machines: hour meter, what is due for service, and (for the office) what an hour of each really costs.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what machines do we have and how many hours are on them"},{"zone":"pm","key":"dispatch.fixes","summary":"The options for each crew clash (another crew of the same trade, or the crew’s next free day), without changing anything.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how do we fix the clash on Alpha crew"},{"zone":"pm","key":"projects.byContact","summary":"The PeakPM jobs for one PeakCRM contact: status, health, finish dates and the next phase. For the CRM contact page.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which PeakPM jobs belong to this CRM contact"},{"zone":"pm","key":"assignments.forCrew","summary":"The phases a crew is assigned to in a date window (two weeks from today by default).","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what jobs does Alpha crew have lined up"},{"zone":"pm","key":"photoreports.list","summary":"The photo reports made for a project.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what photo reports do we have for Hendricks"},{"zone":"pm","key":"dashboard.summary","summary":"The production overview: active, delayed and blocked projects, crews working today, conflicts.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"how are we doing today"},{"zone":"pm","key":"projects.activity","summary":"The project timeline: who did what and when, newest first.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what happened on the Hendricks job this week"},{"zone":"pm","key":"portal.get","summary":"The project’s customer portal: whether it is on, what it shows and how often it was viewed.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"is the Hendricks portal turned on"},{"zone":"pm","key":"timeclock.entries","summary":"Time entries between two days (this week by default), by person and job. Without payroll access you only get your own.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"show the timesheet for this week"},{"zone":"pm","key":"today.list","summary":"Today’s attention list for the jobs: crew clashes coming up (by crew name), work phases overdue or due today, and milestones past their target.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what needs my attention on the jobs today"},{"zone":"pm","key":"phases.requirements","summary":"What a phase still needs before it can be marked complete: checklist answers and photos.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"what do we still need before we can close out base prep"},{"zone":"pm","key":"schedule.crewDay","summary":"What one crew is working on a given day (today by default), with the job site and customer.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"where is Alpha crew working tomorrow"},{"zone":"pm","key":"timeclock.status","summary":"Whether you are on the clock right now, on which job, and your hours so far today.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"am I still clocked in"},{"zone":"pm","key":"photos.findNearby","summary":"Which site is at a GPS location: the open projects whose geofence or pin area holds those coordinates.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which site is at these GPS coordinates"},{"zone":"pm","key":"photos.matchMms","summary":"Work out which project a texted-in photo belongs to, from the sender’s phone, their crew’s bookings and what they typed.","tier":"auto","mutation":false,"customerFacing":false,"money":false,"undoable":false,"example":"which job is this photo from 801-555-0134 for"},{"zone":"pm","key":"dailylogs.save","summary":"Write or update the day’s log for a project: crew and hours, weather, work done, delays and linked issues.","tier":"auto","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"log today on Hendricks: Alpha crew, 3 guys 8 hours, poured the base"}],"draft_only":[{"zone":"pm","key":"expenses.draftFromReceipt","summary":"Read a receipt or supplier invoice photo from the photo inbox with your own AI and save it as a draft expense.","tier":"draft_only","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"read that Home Depot receipt I texted"}],"confirm":[{"zone":"pm","key":"equipment.create","summary":"Add a machine: name, kind, unit number, starting hour meter and (for the office) what it costs to own and run.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"add our new Bobcat T66 skid steer, 12 hours on the meter"},{"zone":"pm","key":"milestones.create","summary":"Add a milestone to a project, optionally tied to the phase that reaches it.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a “permit approved” milestone to the Hendricks job for November 6"},{"zone":"pm","key":"phases.add","summary":"Add a phase to a project, after a given phase or at the end, and rebuild the schedule.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a 2 day fence install after the coating on the Hendricks job"},{"zone":"pm","key":"equipment.addServicePlan","summary":"Add a service-by-hours plan to a machine (e.g. oil and filter every 250 hours), starting from its current meter.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"service the skid steer every 250 hours"},{"zone":"pm","key":"timeclock.addEntry","summary":"Add a shift for someone that the phone never recorded (forgotten clock-in, dead phone). Needs a reason; audited.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"add 7 to 3:30 on Hendricks for Marco yesterday, his phone died"},{"zone":"pm","key":"bids.invite","summary":"Add a subcontractor to a bid request and make their private no-login bid link (shown in the app to copy).","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"invite Rosa Concrete to bid on the Hendricks excavation"},{"zone":"pm","key":"checklist.addItem","summary":"Add an item to a phase’s checklist (a box to tick, a question, a measurement, a photo).","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add “HOA approval letter on file” to the Hendricks site review checklist"},{"zone":"pm","key":"rates.adopt","summary":"Adopt the measured production rate for one work type, so every future bid uses it. Pass the measured and current rates exactly as rates.suggestions showed them; refused if either changed since.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"yes, switch coating to the measured rate"},{"zone":"pm","key":"bids.award","summary":"Award a bid request to one subcontractor’s bid: the others are declined and the price becomes the job’s committed sub cost.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"award the Hendricks pour to Rosa Concrete"},{"zone":"pm","key":"dispatch.bookOpenDays","summary":"Book one open-day suggestion from dispatch.profit: put that phase on that crew from that day, and schedule its job if it was waiting. Refused if the suggestion changed.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"book the Baker coating into Alpha’s open days"},{"zone":"pm","key":"photoreports.create","summary":"Build a photo report from chosen photos on a project, with a title and summary.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make a completion report for Hendricks with the final six photos"},{"zone":"pm","key":"templates.apply","summary":"Build a project’s phases, checklists and milestones from a template, then schedule them.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"use the court template on the Hendricks job"},{"zone":"pm","key":"crews.update","summary":"Change a crew’s name, type, colour, service area, capacity, lead or working days.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make Jess the lead on Alpha crew"},{"zone":"pm","key":"equipment.update","summary":"Change a machine’s name, kind, unit number or (for the office) its ownership and running costs.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"rename unit 7 to the small compactor"},{"zone":"pm","key":"maintenance.updatePlan","summary":"Change a maintenance plan (name, interval, start date, lead time, booked or waiting, template, notes) or pause and resume it.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"pause the Alder Ridge cleaning plan"},{"zone":"pm","key":"phases.update","summary":"Change a phase’s name, description, duration, wait time or notes; the schedule recalculates.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make the cure phase on Hendricks 10 days instead of 7"},{"zone":"pm","key":"photoreports.update","summary":"Change a photo report’s title, summary, or the note under a photo.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"retitle the Hendricks report \"Final walkthrough\""},{"zone":"pm","key":"projects.update","summary":"Change project details: name, start date, target completion, project manager, address or notes.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"push the Hendricks target completion to December 12"},{"zone":"pm","key":"bids.close","summary":"Close a bid request with no winner; the subs’ links stop taking bids.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"we’re doing the fence ourselves, close that bid request"},{"zone":"pm","key":"expenses.confirm","summary":"Confirm a draft expense with the checked job, total, date and category so it counts in the job’s costs.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"yes, that receipt is $412.18 of materials for the Hendricks court"},{"zone":"pm","key":"equipment.correctMeter","summary":"Correct a machine’s hour meter after a wrong reading (it may go down). Needs a reason; the correction is kept on record.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the skid steer reading of 12,000 was a typo, it is 1,200"},{"zone":"pm","key":"timeclock.editEntry","summary":"Correct someone’s time entry (clock-in or clock-out time, job, phase or cost code). Needs a reason; the before and after are kept in the audit trail.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"Marco forgot to clock out yesterday, set it to 4:30 pm"},{"zone":"pm","key":"projects.create","summary":"Create a project, optionally from a template so its phases and schedule are built.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"start a new job for Dave Brown, two pickleball courts, use the court template"},{"zone":"pm","key":"maintenance.createDue","summary":"Create the jobs for previewed maintenance visits: pass the keys from maintenance.preview. Refused if any visit changed since the preview.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"yes, create those maintenance jobs"},{"zone":"pm","key":"photos.inboxAssign","summary":"File unfiled inbox photos to the one the sender picked, after a texted photo matched several.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"it’s the Hendricks pool deck, file those inbox photos there"},{"zone":"pm","key":"photos.setInternal","summary":"Hide photos from the customer by marking them internal (office only), or clear the mark.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"hide the damaged fence photos from the customer"},{"zone":"pm","key":"rates.decline","summary":"Keep the current production rate and record the measured one as refused. The suggestion stays quiet until the measurement moves another 10%.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"no, keep the coating rate where it is"},{"zone":"pm","key":"costing.importLabor","summary":"Load labor lines (hours and cost rate per line, optional cost code, optional quantity and unit) into a job’s labor budget, replacing an earlier import.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"load the labor hours from the Hendricks estimate into the job budget"},{"zone":"pm","key":"phases.setPinned","summary":"Lock a phase to its current dates (or unlock it) so recalculation flags it instead of moving it.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"lock the concrete pour date on Hendricks, the truck is booked"},{"zone":"pm","key":"templates.create","summary":"Make a new project template: a name and its phases in order, each with a length in days.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make a template called Court resurface with prep 1 day, coatings 2 days, lines 1 day"},{"zone":"pm","key":"assignments.setProjectManager","summary":"Make a team member the project manager on a project, or clear it.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"make Sarah the PM on the Hendricks job"},{"zone":"pm","key":"phases.addDependency","summary":"Make one phase wait for another to finish (optionally plus a few days), then rebuild the schedule.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"equipment install on Hendricks can’t start until the inspection passes"},{"zone":"pm","key":"crews.setBlackout","summary":"Mark days a crew cannot work (PTO, training, equipment down), or clear them.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"Alpha crew is off November 26 and 27 for Thanksgiving"},{"zone":"pm","key":"dispatch.move","summary":"Move a phase to another crew, another start day, or both (a drag on the dispatch board). Warns if that double-books the crew.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"drag the Hendricks coating over to Bravo crew on Thursday"},{"zone":"pm","key":"projects.setStatus","summary":"Move a project to a new stage: planning, ready to schedule, scheduled, in progress, on hold, complete or canceled.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"put the Hendricks job on hold"},{"zone":"pm","key":"schedule.reschedule","summary":"Move or delay a phase and shift everything after it; with a reason it is logged as a delay issue.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"rain delay, push the Hendricks concrete 2 days"},{"zone":"pm","key":"photos.move","summary":"Move photos to another phase or to another project.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"those pics belong on the Johnson court, not Hendricks"},{"zone":"pm","key":"assignments.assignCrew","summary":"Put a crew on a phase. Warns (without refusing) if that double-books the crew.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"put Alpha crew on the Hendricks base prep"},{"zone":"pm","key":"equipment.reactivate","summary":"Put a retired machine back in service.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"bring the old compactor back into service"},{"zone":"pm","key":"crews.addMember","summary":"Put a team member on a crew.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add Tyler to Alpha crew"},{"zone":"pm","key":"costing.setEstimatedCost","summary":"Record a job’s full estimated cost (labor, materials, subs) from its estimate, so it ranks on real gross profit instead of labor only.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the Hendricks estimate cost us $31,200 all in"},{"zone":"pm","key":"equipment.recordService","summary":"Record a service done on a machine (optionally for one of its service plans, which restarts that plan’s interval at this meter reading).","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"we changed the oil on the skid steer at 1,250 hours"},{"zone":"pm","key":"costing.setQuantity","summary":"Record how many units of one kind of work a job actually was (e.g. 7,400 sq ft of coating), replacing the estimate’s number. Finished jobs measure production rates from it.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"the Hendricks court ended up 7400 sq ft of coating"},{"zone":"pm","key":"milestones.update","summary":"Rename a milestone, change its target date, the phase that reaches it, or whether it syncs to the CRM.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"move the Hendricks substantial completion milestone to December 4"},{"zone":"pm","key":"portal.rotateLink","summary":"Reset the customer portal link: the old address stops working and a new one replaces it.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"kill the old Hendricks portal link and make a new one"},{"zone":"pm","key":"dispatch.applyFix","summary":"Resolve a crew clash by applying one fix: `reassign` hands the later job to the free crew, `shift` starts it on the crew’s first free day.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"fix the Alpha double booking by giving the second job to Bravo"},{"zone":"pm","key":"crews.deactivate","summary":"Retire a crew so it no longer shows for scheduling or capacity.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"retire Charlie crew"},{"zone":"pm","key":"equipment.retire","summary":"Retire a machine (sold, scrapped, stolen). It leaves the list but its hours and service history stay; nothing is deleted.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"retire the old mini excavator, we sold it"},{"zone":"pm","key":"bids.createRequest","summary":"Send work out to bid: start a subcontractor bid request for a job with the scope subs will price and an optional due date.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"get bids from concrete subs for the Hendricks base pour"},{"zone":"pm","key":"projects.setGeofence","summary":"Set or clear a geofence (a circle or polygon around the site) so GPS-tagged photos file there.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"set a 200 metre geofence circle around the Hendricks court"},{"zone":"pm","key":"crews.create","summary":"Set up a new crew with a name, type, colour, capacity and crew lead.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"add a new crew called Bravo crew for resurfacing"},{"zone":"pm","key":"maintenance.skip","summary":"Skip one previewed maintenance visit (the customer declined this time). The plan keeps going; the next visit comes due as usual.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"skip the Jensen court cleaning this year"},{"zone":"pm","key":"maintenance.createPlan","summary":"Start a recurring maintenance plan: what work, for which customer or finished job, every how many months from which date, and whether each visit is booked on the calendar automatically or waits for a crew.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"put the Jensen court on a resurfacing plan every 4 years from its finish date"},{"zone":"pm","key":"equipment.removeServicePlan","summary":"Stop tracking one service plan on a machine (its past service records stay).","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"stop tracking the hydraulic filter on the skid steer"},{"zone":"pm","key":"crews.removeMember","summary":"Take a team member off a crew.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"take Tyler off Alpha crew"},{"zone":"pm","key":"assignments.unassignCrew","summary":"Take the crew off a phase, leaving it unassigned.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"pull Alpha crew off the Hendricks base prep"},{"zone":"pm","key":"shares.revoke","summary":"Turn off a photo share link (or the portal) so it stops working.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"turn off the gallery link we sent the Hendricks customer"},{"zone":"pm","key":"bids.revokeInvite","summary":"Turn off one subcontractor’s bid link; any bid they posted is withdrawn.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"turn off the bid link we sent to Acme Excavating"},{"zone":"pm","key":"equipment.voidUsage","summary":"Void a machine-hours entry logged by mistake (wrong job or machine). Needs a reason; the entry stays on record as voided.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":false,"example":"those skid steer hours went on the wrong job, void them"},{"zone":"pm","key":"expenses.void","summary":"Void an expense entered by mistake; it stops counting on the job but the record stays.","tier":"confirm","mutation":true,"customerFacing":false,"money":false,"undoable":true,"example":"that fuel receipt was personal, void it"}],"approval_send":[{"zone":"pm","key":"photoreports.share","summary":"Share a photo report with the customer: an expiring link to its page and PDF.","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"send the Hendricks completion report to the customer"},{"zone":"pm","key":"shares.create","summary":"Share chosen photos with the customer: an expiring photo-gallery link, good for a day, a week or longer.","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"send the Hendricks customer a link to the finished court photos"},{"zone":"pm","key":"dailylogs.share","summary":"Show (or stop showing) a day’s log highlight to the customer on their portal.","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"share Tuesday’s Hendricks update with the customer: base is poured and curing"},{"zone":"pm","key":"portal.publish","summary":"Turn on the customer portal, or change what it shows: schedule, chosen photos, daily updates and a message.","tier":"approval_send","mutation":true,"customerFacing":true,"money":false,"undoable":false,"example":"turn on the portal for the Hendricks job with the schedule and photos"}],"blocked_remote":[]},"counts":{"auto":89,"draft_only":1,"confirm":60,"approval_send":4,"blocked_remote":0}},{"zone":"lead","label":"Leads","status":"not_set_up","complete":false,"groups":{"auto":[],"draft_only":[],"confirm":[],"approval_send":[],"blocked_remote":[]},"counts":{"auto":0,"draft_only":0,"confirm":0,"approval_send":0,"blocked_remote":0}}],"totals":{"auto":266,"draft_only":23,"confirm":125,"approval_send":24,"blocked_remote":111},"violations":[]},"limits":[{"label":"Undo window","value":"10 minutes (tap Undo, or reply UNDO)"},{"label":"PIN approval window","value":"10 minutes"},{"label":"Wrong PIN","value":"5 tries, then texting approvals lock for 15 minutes"},{"label":"Work per message","value":"Up to 6 AI turns and 10 actions, then it stops and tells you"},{"label":"Rate limits","value":"A cap per phone per hour, and a daily cap per business"}],"reach":{"live":["Chat inside the Peak tools: leads and customers, estimates and invoices, jobs and crews","Your own AI assistant (Claude, ChatGPT or another app that supports MCP), with a sign-in or a personal key","Text messages, once you connect your own texting number and register it with the carriers"],"connecting":["Actions in the lead feed","Voice"]},"automationNote":"Automated flows (like \"job finished, draft the final invoice\") can't reply YES, so anything that would need a YES waits for an owner's approval instead.","limitsSnapshot":{"source":"Sherpa gateway (PeakCRM apps/accounts)","commit":"1f2a6f4","takenOn":"2026-10-18"}}