{"name":"Penny Engine Workflow Recipes","version":"0.7.7","description":"Sample patterns for developers connecting recurring AI agents; not live automation installations.","recipes":[{"title":"Ecommerce catalog ingestion","trigger":"Product feed import or scheduled inventory update","steps":[{"tool":"penny_csv_to_json","when":"CSV text received"},{"tool":"penny_catalog_audit","when":"Parsed products need validation, slugs and margin flags"}],"example":{"endpoint":"https://penny-agent-api-production.up.railway.app/api/catalog-audit","method":"POST","body":{"items":[{"sku":"W-1","name":"Large Widget","price":39,"cost":18,"feePct":12,"shippingCost":4}]}}},{"title":"Lead-to-quote commercial cleaning","trigger":"Cleaning company receives a qualified prospect","steps":[{"tool":"penny_cleaning_quote","when":"Labor hours and wage known"}],"example":{"endpoint":"https://penny-agent-api-production.up.railway.app/api/cleaning-quote","method":"POST","body":{"hours":3,"hourlyWage":20,"targetMarginPct":30}}},{"title":"Paid acquisition audit","trigger":"Campaign metrics become available","steps":[{"tool":"penny_campaign_economics","when":"Cost per click and conversion rate known"}],"example":{"endpoint":"https://penny-agent-api-production.up.railway.app/api/campaign-economics","method":"POST","body":{"costPerClick":1,"conversionRatePct":4,"contributionPerOrderUsd":45}}},{"title":"Website content ingestion","trigger":"Agent already fetched a website HTML document","steps":[{"tool":"penny_html_extract","when":"Need structured titles, headings and JSON-LD"},{"tool":"penny_url_clean","when":"Need clean canonical-style tracking-free URLs"}],"example":{"endpoint":"https://penny-agent-api-production.up.railway.app/api/html-extract","method":"POST","body":{"html":"<html><head><title>Product</title></head><body><h1>Widget</h1></body></html>"}}}],"policy":{"free":true,"auth":"none","notes":"Services run only when an external agent chooses to call them; no automatic buyer acquisition is implied."}}