{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=shashankinguva/gmail-subscription-audit@0.0.1","method":"GET","rel":"https://rote.dev/rels/bootstrap-and-run","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"inspect":{"command":"rote play inspect https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1","effect":"read-only"},"installCliOnly":{"effect":"installs the rote CLI, nothing else","href":"https://play.modiqo.ai/install","method":"GET","rel":"https://rote.dev/rels/install-cli","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"run":{"command":"rote play run https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"authenticationPreflight":{"credentialValues":"local_only","enforcedBeforeAdapterCalls":true,"mode":"declared","readiness":"inspect_locally","steps":[{"endpoint":"adapter/gmail-api","name":"auth_gmail_api","onExpired":"refresh","onMissing":"authorize","onUnreadable":"reauthorize"}]},"description":"Scan Gmail receipts/renewal emails over a lookback window and produce a table of recurring subscriptions: vendor, amount, cadence, last charged, and unused-60+-days flag.","distribution":{"digest":"sha256:2612cef41ac240ad3178acac9bf76b3857179c2fe945adf046ea8e98f7f2624d","mediaType":"application/vnd.modiqo.rote-flow","size":6540,"verifiedBy":"rote verifies the downloaded archive against this digest before it runs"},"effects":{"credentialsProvidedBy":"runner","credentialsRemainLocal":true,"declaredWrites":[],"publisherReceivesCredentials":false},"id":"https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1","inputPolicy":{"optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1.json"},"name":"gmail-subscription-audit","owner":{"kind":"user","slug":"shashankinguva"},"parameters":[{"default":"(receipt OR invoice OR \"payment confirmation\" OR subscription OR renewal OR \"auto-renew\" OR \"has been charged\" OR \"your payment\" OR \"order confirmation\")","description":"Gmail search query (without the date filter) matching candidate receipt/renewal emails.","input":{"allowCustom":true,"choices":[],"label":"Search query"},"name":"search_query","required":false,"type":"string"},{"description":"Gmail date filter cutoff in YYYY/MM/DD format, e.g. 90 days before today. Messages before this date are excluded.","input":{"allowCustom":true,"choices":[],"label":"After date"},"name":"after_date","required":true,"type":"string"},{"default":"50","description":"Maximum number of candidate messages to list (Gmail API maxResults, as a string).","input":{"allowCustom":true,"choices":[],"label":"Max results"},"name":"max_results","required":false,"type":"string"},{"description":"If set, exclude receipts whose body names a different account/email than this one (e.g. a family member's subscription billed through your inbox). Leave blank to include all.","input":{"allowCustom":true,"choices":[],"label":"Gmail account scope"},"name":"gmail_account_scope","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters"},{"references":["/parameters","/requirements","/effects"],"step":3,"type":"review"},{"consentBoundary":"the user approves the exact play and parameter values","references":["/parameters","/requirements","/effects"],"step":4,"type":"obtain_run_consent"},{"action":{"command":"rote play run https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1","headlessCommandTemplate":"rote play run https://play.modiqo.ai/shashankinguva/gmail-subscription-audit@0.0.1 <name=value...> --yes"},"preservesAcquisitionBoundaries":["adapter_selection","oauth_dcr","google_discovery","static_token_setup","runtime_security_checks"],"requiresConsent":true,"step":5,"type":"run"}],"producedBy":{"roteVersion":"0.78.0"},"publishedAt":"2026-09-02T12:59:57.091346+00:00","reference":"shashankinguva/gmail-subscription-audit@0.0.1","requirements":{"adapters":[{"bindingStatus":"resolved","credentialDemand":{"requirements":[{"kind":"bearer","name":"GMAIL_API_API_TOKEN","protocol":"static","protocolSource":"inferred","setup":{"configure":{"command":"rote token set GMAIL_API_API_TOKEN","input":"hidden"},"href":"https://console.cloud.google.com/apis/credentials","source":"adapter_catalog","type":"vendor_token_page","verifiedHost":"console.cloud.google.com"}}],"status":"required"},"displayName":"Google: Gmail API","fingerprint":"mcp_PhLfwGhVQruqiYd4xenSWFzWQDa","id":"gmail-api","purpose":"gmail-api adapter","requirement":"shashankinguva/gmail-api@1.0.0","version":"1.0.0"}],"browser":{"dependencies":[],"runtime":false,"signIn":false},"localTools":["bash"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":true},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":2,"installs":0},"steps":{"count":3,"names":["get_messages","list_messages","normalize_messages"]},"title":"gmail-subscription-audit","type":"play","version":"0.0.1","visibility":"public"}