Skip to content
Try Free →

The subscription_manager skill

Last updated: · 4 min read

What the skill does

Customer asks subscription-related questions. The bot looks up live data from Stripe via the integration and replies. Typical questions handled:

  • "What plan am I on?"
  • "When does my subscription renew?"
  • "How much will I be charged next?"
  • "When did I sign up?"
  • "What's my billing email?"
  • "Can I see my last 3 invoices?"

Read-only by default. For modifying actions (upgrade, cancel, refund), the bot escalates to a human via escalate_to_human unless you've explicitly granted write scope.

The skill is on Business and above. Requires the Stripe integration connected. Business+

Customer identification

The bot needs to match the chatting visitor to a Stripe customer. Two patterns:

  1. Identity-verified widget. Visitor is signed in to your product. Widget passes the email via setUser({ email }) with an HMAC verification token. Bot looks up Stripe directly using that email. Growth+
  2. Verify-by-email flow. Visitor not signed in. Bot asks for their email, sends a 6-digit code, customer types code back, bot proceeds.

The verify-by-email flow adds 30 to 45 seconds. Use it for unauthenticated channels.

What's returned

A typical bot response:

Here's your subscription info:

Plan: Growth (annual) Status: Active Next renewal: August 15, 2026 Amount: ₹49,990 Started: August 15, 2025

Anything else I can help with?

Configure which fields the bot includes (line items, last invoice, payment method, etc.) under AI Agents > Skills > subscription_manager > Response Fields.

Trigger phrases

Default trigger phrases that fire the skill:

  • "what plan am I on"
  • "when does my subscription renew"
  • "what's my next bill"
  • "show me my subscription"
  • "billing details"
  • "when am I getting charged next"

Customize the trigger list under Skills > subscription_manager > Triggers. Add industry-specific phrases.

Failed payments and dunning

The skill is webhook-aware. If your Stripe customer has a recent failed payment (subscription is in past_due state), the bot proactively flags it:

I see your last payment didn't go through. Want me to walk you through updating your payment method?

Configure under Skills > subscription_manager > Proactive Alerts.

For full dunning (the email sequence Stripe sends when payments fail), the bot doesn't replace your existing dunning flow. It just augments it with in-chat options.

Write scope (Enterprise only)

By default the skill is read-only. For mutating actions (upgrade, downgrade, cancel, refund), the bot escalates to a human.

Enterprise customers can grant write scope under Integrations > Stripe > Write Permissions. With write enabled, the bot can:

  • Upgrade or downgrade between plans (within configurable bounds).
  • Apply a one-time discount.
  • Cancel at end of cycle.
  • Refund recent transactions (within a configurable dollar cap).

Each write action has a separate policy bound and an audit-log entry. Enterprise

Limits

  • Plan availability. Business and above; write actions on Enterprise.
  • Stripe API rate limits. 100 read operations per second in live mode. AskVault caches where safe.
  • Lookup latency. 600 ms to 2 seconds depending on Stripe API response time.

Common pitfalls

Bot says "I couldn't find your account". Visitor's email doesn't match any Stripe customer. They may have used a different email at signup.

Wrong plan shown. Stripe data is stale. The bot reads live, but if your customer database hasn't synced a recent change, mismatches happen. Check Stripe Dashboard directly.

Bot offers to cancel but actually can't. Write scope wasn't granted. The bot offered because it sees subscription_manager enabled, but the cancel attempt fails silently. Either grant write scope or remove cancel from the skill's offered actions.

Multi-currency confusion. Bot returns the subscription amount in the currency Stripe stores it (your platform currency). For customer-facing display in their currency, configure currency conversion under Skills > subscription_manager > Display Currency.

FAQ

Can the bot cancel a subscription?

Only with explicit write scope on Enterprise. Most customers keep it read-only and route cancellations through escalate_to_human for safety.

Can the bot upgrade a customer's plan?

Same answer: Enterprise + write scope only. Bounds are configurable (e.g., bot can upgrade Starter to Growth but never directly to Enterprise).

Does this work with Razorpay subscriptions?

Native Stripe integration only. For Razorpay, use the custom_webhook skill to call your backend that bridges to Razorpay.

Will the bot reveal billing info to non-verified visitors?

No. Without identity verification or email-code verification, the bot refuses to disclose subscription details.

How fast is the lookup?

About 600 ms to 2 seconds including Stripe API latency. Customer sees the bot "typing" briefly before the answer.

Was this page helpful?