{"schema_version":"1.1","install_offer":{"name":"Jamie Agentic Bot Install","description":"A multi-agent system from a proven template: a trigger that fires with no human present, agents that run in parallel on the same event, a chain that runs in series once they report, and one human approval gate. Installed into the business's own tools and live within 72 hours of kickoff.","currency":"USD","install_price":2500,"monthly_price":400,"monthly_starts_after_days":30,"cancel_anytime":true,"fair_use_agent_runs_per_month":1000,"model":"Claude (Anthropic); judgment agents on Claude Fable 5.1, routine agents on smaller Claude models","checkout_url":"https://buy.stripe.com/28E4gz0CMeBL6fpee3ebu45","booking_url":"https://cal.com/startup25","catalog_url":"https://jamiepulls.com/bots","template_count":10,"total_agents":50,"fleet_offer":{"bots":3,"install_price":6000,"monthly_price":900,"description":"Three systems installed together and wired to hand off to each other.","checkout_url":"https://buy.stripe.com/9B69AT0CM8dn9rB6LBebu46"},"templates":[{"slug":"inbound-lead-responder","name":"Inbound Lead Responder","category":"Sales","headline":"Four agents wake on every inquiry, answer it in under two minutes, and arm the follow-up.","agent_count":5,"best_for":["Home services","Clinics and practices","Agencies","Law firms","IT providers"],"connects":["Website forms","Gmail or Outlook","Missed-call SMS","Google Calendar or Calendly","Your price ranges and service area"],"triggers":["A form submission hits the webhook","An email arrives matching your inbound filter","A missed call produces a text","Nightly sweep for anything the watchers missed"],"chains_with":["quote-chaser","review-engine"],"approval":"You set the policy: auto-reply for routine requests inside your price rules; hold for review on anything out of area, over a dollar threshold, or emotionally loaded. The policy agent is a separate agent from the writer on purpose, so the thing checking the work is not the thing that produced it.","topology":[{"mode":"trigger","label":"Fires on the event","items":["Form webhook","Inbox filter","Missed-call SMS","Nightly reconciliation sweep"]},{"mode":"parallel","label":"Three agents, at once","agents":[{"name":"Intake","job":"Parses the request into job type, urgency, address, and constraints","emits":"Structured request"},{"name":"Research","job":"Checks whether this is an existing customer and what you did for them before","emits":"Customer history"},{"name":"Capacity","job":"Reads the calendar, service area, and price rules for this job type","emits":"Two bookable slots + price band"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Reply writer","job":"Merges the three inputs into one specific answer in your voice","emits":"Draft reply"},{"name":"Policy check","job":"Tests the draft against your rules: area, price ceiling, tone, promises","emits":"Send / hold verdict"}]},{"mode":"gate","label":"Where it meets you","items":["Auto-send: in area, inside your price band, standard job type","Hold: out of area, above your dollar threshold, complaint or emotional tone, anything the research agent flagged"]},{"mode":"emit","label":"Then it arms the next run","items":["Writes the lead to your sheet or CRM","Schedules a 48-hour follow-up agent if no reply","Hands won leads to Quote Chaser if installed"]}],"url":"https://jamiepulls.com/bots/inbound-lead-responder"},{"slug":"quote-chaser","name":"Quote Chaser","category":"Sales","headline":"A scheduler that wakes on its own clock and runs a three-stage chase until every quote is won or lost.","agent_count":5,"best_for":["Contractors","HVAC, plumbing, roofing","Agencies","Printers and sign shops","Event vendors"],"connects":["Your quoting tool or PDF quotes","Email","CRM or a spreadsheet","Calendar"],"triggers":["A quote leaves your outbox or quoting tool","The day-2, day-5, and day-10 timers fire on their own","A prospect replies at any hour"],"chains_with":["review-engine","invoice-chaser"],"approval":"Follow-ups auto-send from your approved template set. The reply classifier never answers a pricing or scope question itself; it routes to you with a suggested answer. It never changes a number.","topology":[{"mode":"trigger","label":"Two ways it fires","items":["New quote detected by forwarding rule or integration","Its own day-2 / day-5 / day-10 schedule","Inbound reply on any tracked quote"]},{"mode":"parallel","label":"On each wake, two agents at once","agents":[{"name":"Quote reader","job":"Re-reads scope, price, and what has already been said in the thread","emits":"Current quote state"},{"name":"Signal watcher","job":"Checks for anything that changed: a reply, a site visit, a competing bid mentioned","emits":"Change log"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Sequencer","job":"Picks which of the three touches is due, or stops the sequence entirely","emits":"Touch decision"},{"name":"Writer","job":"Drafts that touch with one genuinely useful detail from the actual quote","emits":"Draft message"},{"name":"Reply classifier","job":"On inbound, sorts into: question, objection, price negotiation, or no","emits":"Route + suggested answer"}]},{"mode":"gate","label":"Where it meets you","items":["Auto-send: the three scheduled touches from your approved templates","Hold and route to you: anything mentioning price, scope, timing, or a competitor","Hard stop: any clear no, marked lost, never contacted about that quote again"]},{"mode":"emit","label":"Then it closes the loop","items":["Writes won / lost / no-response and the reason","Hands won jobs to Review Engine if installed","Weekly won-lost report with the objection breakdown"]}],"url":"https://jamiepulls.com/bots/quote-chaser"},{"slug":"win-back-bot","name":"Win-Back Bot","category":"Retention","headline":"A monthly cadence that segments your own customer history and builds approval-ready batches while you sleep.","agent_count":5,"best_for":["Cleaning companies","Pool, lawn, and pest","Dental and vet practices","Salons and studios","Accountants and advisors"],"connects":["Your customer list as CSV or from your CRM","Email or SMS","Calendar or booking tool"],"triggers":["Your monthly cadence, on its own schedule","A seasonal window you define, such as pre-summer or year-end","A customer crossing your lapsed threshold"],"chains_with":["review-engine","inbound-lead-responder"],"approval":"Nothing goes out without your approval of the batch. Consent rules for your channel and region are configured on day one and enforced by a dedicated agent every run, not by a line in a prompt.","topology":[{"mode":"trigger","label":"Fires on the calendar, not on you","items":["Monthly cadence","Seasonal windows you define","Individual customers crossing the lapsed threshold"]},{"mode":"parallel","label":"Three agents work the list at once","agents":[{"name":"Historian","job":"Segments by recency, service, frequency, and value","emits":"Ranked segments"},{"name":"Consent officer","job":"Enforces channel and region rules; drops anyone without a valid record or with an opt-out","emits":"Eligible list"},{"name":"Offer analyst","job":"Matches each segment to the next credible service, never a blanket discount","emits":"Segment-to-offer map"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Batch writer","job":"Drafts a 25-account batch with a specific reason to return per customer","emits":"Draft batch"},{"name":"Reply router","job":"Reads responses and hands warm ones to a person the same day","emits":"Routed replies"}]},{"mode":"gate","label":"Where it meets you","items":["You approve every batch before it sends","Opt-outs honored automatically and permanently","Batch size capped so a bad message can never reach the whole list"]},{"mode":"emit","label":"Then it learns","items":["Records who responded, booked, or opted out","Suppresses non-responders from the next two cycles","Hands bookings to Review Engine if installed"]}],"url":"https://jamiepulls.com/bots/win-back-bot"},{"slug":"review-engine","name":"Review Engine","category":"Reputation","headline":"A watcher on your listings plus a timed asker on your job list, running on two independent clocks.","agent_count":5,"best_for":["Home services","Clinics","Restaurants and hospitality","Auto shops","Salons"],"connects":["Job completion from your invoice tool, calendar, or a CSV","Google Business Profile","Yelp","SMS or email"],"triggers":["A job is marked complete","The hourly listing watcher finds a new review","Month-end scorecard schedule"],"chains_with":["win-back-bot","quote-chaser"],"approval":"Requests auto-send. Every public reply waits for your one-tap approval. Anything under four stars is escalated to you first with a suggested response and a note on whether the same complaint has appeared before.","topology":[{"mode":"trigger","label":"Two independent loops","items":["Job completion event fires the asker","Hourly poll of Google and Yelp fires the responder","Month-end fires the scorecard"]},{"mode":"parallel","label":"On a new review, three at once","agents":[{"name":"Classifier","job":"Rates sentiment, extracts the specific complaint or praise","emits":"Sentiment + issue"},{"name":"Job matcher","job":"Finds which job this reviewer is talking about and what actually happened","emits":"Job context"},{"name":"Pattern watcher","job":"Checks whether this complaint has appeared before","emits":"Recurrence flag"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Responder","job":"Drafts a specific reply in your voice, referencing the real job","emits":"Draft reply"},{"name":"Asker","job":"On the other loop, sends the review request at your chosen delay after completion","emits":"Sent request"}]},{"mode":"gate","label":"Where it meets you","items":["Auto-send: review requests after completed jobs","One-tap approval: every public reply","Escalate first: anything under four stars, with a suggested de-escalation and the recurrence flag"]},{"mode":"emit","label":"Then it reports","items":["Monthly scorecard: volume, rating, response time","Recurring-complaint list for your ops meeting","Flags any job type whose reviews are trending down"]}],"url":"https://jamiepulls.com/bots/review-engine"},{"slug":"invoice-chaser","name":"Invoice Chaser","category":"Finance","headline":"A ledger watcher with its own escalation clock, and a classifier that knows a dispute from a delay.","agent_count":4,"best_for":["Agencies","Contractors","Consultants","B2B services","Wholesalers"],"connects":["QuickBooks, Xero, FreshBooks, or Stripe","Email","Your payment link"],"triggers":["An invoice passes its due date","Its own day-3, day-10, and day-20 timers","Any reply on a chased invoice","A payment clears and cancels the sequence"],"chains_with":["quote-chaser","support-desk"],"approval":"Reminders auto-send from your templates. Disputes, partial-payment offers, and hardship messages stop the sequence immediately and route to you with a summary. The connection to your books is read-only.","topology":[{"mode":"trigger","label":"Fires on the ledger and the clock","items":["Invoice passes due date","Day-3 / day-10 / day-20 escalation timers","Inbound reply","Payment cleared"]},{"mode":"parallel","label":"Two agents check state at once","agents":[{"name":"Ledger reader","job":"Confirms the invoice is still open and reads the amount, work, and terms","emits":"Current invoice state"},{"name":"Relationship checker","job":"Looks for open disputes, prior promises, and how this client usually pays","emits":"Client context"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Escalation writer","job":"Drafts the right step: gentle, firmer, then personal from you","emits":"Draft reminder"},{"name":"Response classifier","job":"Sorts replies into dispute, promise, hardship, or question","emits":"Route + sequence pause"}]},{"mode":"gate","label":"Where it meets you","items":["Auto-send: the three reminders from your templates","Pause and route: disputes, partial-payment offers, hardship messages","Draft for approval: the day-20 personal message from you","Never: touching an invoice, applying a payment, or sending through your accounting system"]},{"mode":"emit","label":"Then it reports","items":["Weekly receivables summary by age","Flags clients whose payment behavior is deteriorating","Logs every promise made so the next reminder can reference it"]}],"url":"https://jamiepulls.com/bots/invoice-chaser"},{"slug":"proposal-drafter","name":"Proposal Drafter","category":"Sales","headline":"Four agents take a call transcript apart in parallel and reassemble it as a priced proposal in your template.","agent_count":5,"best_for":["Agencies","Consultants","Architects and designers","IT services","Event companies"],"connects":["Call notes or transcripts from Zoom, Fireflies, or Docs","Your proposal template","Rate card","Case-study library"],"triggers":["A transcript or notes file lands in the watched folder","A calendar event tagged as discovery ends","You forward notes to the intake address"],"chains_with":["quote-chaser","invoice-chaser"],"approval":"Every proposal is a draft until you send it. The system has no send capability for this template. Anything the notes did not cover appears as an open question, never as a guess.","topology":[{"mode":"trigger","label":"Fires when the call ends","items":["Transcript lands in the watched folder","Tagged calendar event ends","Notes forwarded to the intake address"]},{"mode":"parallel","label":"Four agents dissect it at once","agents":[{"name":"Scope","job":"Extracts deliverables, constraints, and explicit exclusions","emits":"Scope tree"},{"name":"Pricing","job":"Prices each phase from your rate card, flagging anything the notes do not support","emits":"Priced phases"},{"name":"Proof","job":"Selects the two closest case studies from your library","emits":"Matched proof"},{"name":"Risk","job":"Lists what was said vaguely and what could blow the estimate","emits":"Open questions"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Assembler","job":"Writes the proposal into your template with open questions at the top","emits":"Draft proposal"}]},{"mode":"gate","label":"Where it meets you","items":["Every proposal is a draft until you send it","Nothing the notes did not cover gets priced; it becomes an open question","Every number traces to a rate-card line"]},{"mode":"emit","label":"Then it hands off","items":["Draft in your template within two hours of the call","Registers the proposal with Quote Chaser if installed","Logs which case studies get used and which never do"]}],"url":"https://jamiepulls.com/bots/proposal-drafter"},{"slug":"support-desk","name":"Support Desk","category":"Operations","headline":"A retrieval agent, a drafter, and a confidence judge, with escalation as a first-class outcome.","agent_count":4,"best_for":["Software companies","E-commerce","Membership businesses","Property managers","Schools and courses"],"connects":["Help docs in Notion, Drive, or your site","Shared inbox, Intercom, Zendesk, or Slack","Order or account system, read-only"],"triggers":["A ticket, email, or chat message arrives","A doc changes and re-indexes itself","Weekly gaps-report schedule"],"chains_with":["invoice-chaser","review-engine"],"approval":"You choose which topics can be auto-answered and which always route to a person: billing disputes, cancellations, anything legal or medical. Saying \"human\" routes immediately, every time.","topology":[{"mode":"trigger","label":"Fires on every question","items":["New ticket, email, or chat message","Documentation change triggers re-index","Weekly gaps report"]},{"mode":"parallel","label":"Two retrievals at once","agents":[{"name":"Doc retriever","job":"Finds the passages that actually answer this, with citations","emits":"Cited passages"},{"name":"Account reader","job":"Reads this customer's plan, order, or status, read-only","emits":"Account state"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Drafter","job":"Writes the answer from retrieved sources only, citing them","emits":"Draft answer"},{"name":"Confidence judge","job":"Decides send or escalate based on source coverage, not on tone","emits":"Send / escalate verdict"}]},{"mode":"gate","label":"Where it meets you","items":["Auto-answer: topics you allow, with full source coverage","Always route to a person: billing disputes, cancellations, anything legal or medical","Immediate escalation: negative sentiment, or the customer asking for a human"]},{"mode":"emit","label":"Then it closes its own gaps","items":["Escalations arrive summarized with what was already tried","Weekly list of questions your docs do not answer","Re-indexes automatically when docs change"]}],"url":"https://jamiepulls.com/bots/support-desk"},{"slug":"founder-chief-of-staff","name":"Founder Chief of Staff","category":"Leadership","headline":"Four agents sweep your calendar, inbox, commitments, and pipeline overnight and converge on five decisions.","agent_count":6,"best_for":["Founders and owners of 5 to 50 person companies"],"connects":["Google or Microsoft calendar and email","Slack","Notion, Asana, or Linear","CRM"],"triggers":["6:00 AM overnight sweep","7:30 AM brief delivery","End-of-day commitment check","Anything you flag as urgent, immediately"],"chains_with":["outbound-researcher","support-desk"],"approval":"Read-only by default. It sends nothing and moves nothing on your calendar without approval. Enabling drafted-reply sending and calendar holds is a deliberate switch you flip later.","topology":[{"mode":"trigger","label":"Runs before you wake up","items":["6:00 AM overnight sweep","7:30 AM delivery","End-of-day commitment check"]},{"mode":"parallel","label":"Four readers at once","agents":[{"name":"Calendar","job":"Reads what is scheduled and what it requires you to have ready","emits":"Meeting prep list"},{"name":"Inbox","job":"Finds what genuinely needs a decision versus what needs an acknowledgment","emits":"Decision candidates"},{"name":"Commitments","job":"Tracks what you and your team promised and what slipped","emits":"Slippage list"},{"name":"Pipeline","job":"Checks deals, renewals, and failed payments that moved overnight","emits":"Revenue changes"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Synthesizer","job":"Ranks by consequence and reversibility, then cuts to five","emits":"The brief"},{"name":"Reply drafter","job":"Writes the routine responses so approving is one tap","emits":"Queued drafts"}]},{"mode":"gate","label":"Where it meets you","items":["Sends nothing without approval","Moves nothing on your calendar without approval","You can exclude any label, folder, or channel from the sweep"]},{"mode":"emit","label":"Then it checks itself","items":["Every line links to its source email, event, or task","End of day: which of the five actually moved","Decision log you can search later"]}],"url":"https://jamiepulls.com/bots/founder-chief-of-staff"},{"slug":"outbound-researcher","name":"Outbound Researcher","category":"Sales","headline":"A daily trigger scan across your target accounts, then parallel research and one approval-ready draft each.","agent_count":5,"best_for":["B2B services","Agencies","IT providers","Consultants","Wholesalers and distributors"],"connects":["Your ideal-customer definition","Web research","CRM","Email"],"triggers":["Daily scan of your target account list","A watched account publishes a hiring, funding, expansion, or pricing change","A prior prospect replies at any time"],"chains_with":["proposal-drafter","founder-chief-of-staff"],"approval":"Every message is approved by a person before it sends. No scraped first-name theater; one checkable fact, one relevant offer, and only published business contact routes. A dedicated compliance agent can reject a draft the writer thought was fine.","topology":[{"mode":"trigger","label":"Scans on its own every morning","items":["Daily target-account scan","Hiring, funding, expansion, leadership, pricing, or tech changes","Inbound reply on any prior draft"]},{"mode":"parallel","label":"Three researchers per hit","agents":[{"name":"Account","job":"Reads the company and confirms the trigger is real and recent","emits":"Verified trigger + source"},{"name":"Contact","job":"Finds the right person and their published business contact route only","emits":"Contact + route"},{"name":"Proof","job":"Selects your most relevant matching work","emits":"Matched proof"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Writer","job":"Drafts a 105-word email: observed fact, why now, relevant offer","emits":"Draft email"},{"name":"Compliance","job":"Checks published-route-only, unsubscribe, honesty of every claim","emits":"Pass / reject"}]},{"mode":"gate","label":"Where it meets you","items":["You approve, edit, or reject each draft","Published business contact routes only; never guessed patterns or bought lists","One follow-up maximum, then a full stop","Any clear no suppresses the account permanently"]},{"mode":"emit","label":"Then it tracks the outcome","items":["Logs approved, edited, and rejected drafts with reasons","Routes replies to you","Suppresses accounts that decline"]}],"url":"https://jamiepulls.com/bots/outbound-researcher"},{"slug":"search-revenue-engine","name":"Search Revenue Engine","category":"Marketing","headline":"A weekly loop that mines your own search data with four agents and ships approved fixes.","agent_count":6,"best_for":["Local services","Clinics","E-commerce","B2B with content"],"connects":["Google Search Console","Google Business Profile","Analytics","Your CMS, read on day one and write only on approval"],"triggers":["Monday opportunity scan","Wednesday competitor and search-result check","Month-end comparison","A ranking drop past your threshold, immediately"],"chains_with":["inbound-lead-responder","review-engine"],"approval":"Nothing is published or changed on your site or listings without approval. Observed data is always separated from inference, and the system never invents search volume, rankings, or citations.","topology":[{"mode":"trigger","label":"Runs on a weekly clock","items":["Monday opportunity scan","Wednesday competitor check","Month-end comparison","Immediate alert on a ranking drop past your threshold"]},{"mode":"parallel","label":"Four analysts at once","agents":[{"name":"Query miner","job":"Finds page-two queries and intent gaps in your own Search Console data","emits":"Ranked query list"},{"name":"Competitor","job":"Detects material changes in approved competitors","emits":"Change log"},{"name":"Technical","job":"Checks crawl, speed, schema, and indexation problems","emits":"Technical issues"},{"name":"Local","job":"Reviews profile completeness, categories, and answer-engine readiness","emits":"Local gaps"}]},{"mode":"series","label":"Then, in order","agents":[{"name":"Prioritizer","job":"Ranks by business value, evidence strength, effort, and reversibility","emits":"Top five opportunities"},{"name":"Fix writer","job":"Drafts the complete change: copy, FAQs, schema, internal links","emits":"Ready-to-ship fix"}]},{"mode":"gate","label":"Where it meets you","items":["Nothing published or changed without approval","Observed data always separated from inference","Never invents search volume, rankings, or citations"]},{"mode":"emit","label":"Then it measures","items":["Ships approved fixes and logs the change","Month-end: last 30 days versus prior 30, observed only","Flags fixes that did not move anything"]}],"url":"https://jamiepulls.com/bots/search-revenue-engine"}]},"provider":{"name":"Jamie","url":"https://jamiepulls.com","description":"Instant-access ad platform and AI SEO/AEO auditor. Create ads, embed a one-line widget on any site you own, and turn clicks into signed-in users. Bundled AI SEO auditing, keyword research, and competitor audits."},"trial":{"days":7,"requires_card":false,"grants":"premium"},"free_tier":{"read_only":true,"seo_audits_per_day":3,"note":"After the trial, accounts become read-only. Existing ads and analytics are kept, never deleted; new creation requires a paid plan."},"anonymous_limits":{"seo_audits_per_day":1},"plans":[{"id":"premium","name":"Jamie Premium","tagline":"Your whole marketing cycle on autopilot","price_monthly":9,"price_yearly":90,"currency":"USD","billing_period":"month","trial_days":7,"limits":{"projects":1,"ads":10,"videoAds":false,"seoAuditsPerDay":25,"seoProjects":3,"keywordResearchPerMonth":25,"aiRewritesPerMonth":0,"growthPlaybooksPerMonth":10,"socialAccounts":4,"contentRunsPerMonth":8,"contentPerRun":8,"autoPublish":true,"autopilot":false,"clipJobsPerMonth":20,"clipsPerJob":5,"whiteLabelWidget":false,"maxRotationWeight":1,"timeSeriesAnalytics":true},"features":["Connect Instagram, X, YouTube & LinkedIn","8 AI content batches per month (8 pieces each)","Reels & Shorts scripts, shot by shot","Schedule and auto-publish to your accounts","1 ad project","10 active ads","25 SEO + AEO audits per day","3 tracked SEO projects","25 AI keyword researches per month","10 \"First 10 Customers\" playbooks per month","Embeddable ad widget","Daily analytics"],"checkout_url":"https://jamiepulls.com/subscribe?plan=premium"},{"id":"max","name":"Jamie MAX","tagline":"Full autopilot: the agent runs your channels for you","price_monthly":29,"price_yearly":290,"currency":"USD","billing_period":"month","trial_days":7,"limits":{"projects":10,"ads":200,"videoAds":true,"seoAuditsPerDay":100,"seoProjects":25,"keywordResearchPerMonth":100,"aiRewritesPerMonth":10,"growthPlaybooksPerMonth":50,"socialAccounts":4,"contentRunsPerMonth":60,"contentPerRun":12,"autoPublish":true,"autopilot":true,"clipJobsPerMonth":100,"clipsPerJob":10,"whiteLabelWidget":true,"maxRotationWeight":2,"timeSeriesAnalytics":true},"features":["Autopilot — the agent keeps posting without you","60 AI content batches per month (12 pieces each)","Connect Instagram, X, YouTube & LinkedIn","Reels, Shorts, carousels & threads","10 ad projects","200 active ads","Video ads (upload your own creative)","White-label widget (no Jamie branding)","2x ad rotation boost","100 SEO + AEO audits per day","25 tracked SEO projects","100 AI keyword researches per month","10 AI content rewrites per month","50 \"First 10 Customers\" playbooks per month","Competitor SEO audits"],"checkout_url":"https://jamiepulls.com/subscribe?plan=max"}],"checkout_url":"https://jamiepulls.com/subscribe","entitlement_error":{"status":402,"codes":["PLAN_REQUIRED","QUOTA_EXCEEDED","TRIAL_EXPIRED"],"format":"{ \"error\": string, \"code\": string, \"plan\": \"premium\"|\"max\", \"upgradeUrl\": \"/subscribe\" }","rate_limited":{"status":429,"header":"Retry-After"}},"discovery_endpoints":{"offers":"https://jamiepulls.com/api/agent/offers","llms_txt":"https://jamiepulls.com/llms.txt","docs":"https://jamiepulls.com/for-agents","product_alternatives":"https://jamiepulls.com/api/find-alternatives","agent_search":"https://jamiepulls.com/api/agentMode"},"how_to_purchase":["GET /api/agent/offers to read plans, prices, and limits.","Choose a plan by price and the limits your buyer needs (fields map 1:1 to enforcement).","Send the buyer to the checkout_url to complete Stripe checkout (7-day trial, no card to start, cancel anytime)."],"updated_field":"This document is generated from lib/plans.ts at build time."}