← All scenarios

Self-Serve Card Reissue

A BlastPass member has lost their physical membership card and just wants a replacement sent over. It's the kind of small, everyday errand that usually means waiting in a support queue. Here it's fully self-serve, with no associate in the loop, and one firm rule underneath it all: nothing on the account changes until the member proves the card is really theirs.

Test this scenario with Returns & Service Assistant

The conversation

  1. 1
    Member
    Hi, I lost my BlastPass card. Can you send me a new one?
  2. Returns & Service Assistant

    "They want a replacement card. I don't have a membership ID yet, and I can't look anything up, or verify anyone, without it. I'll ask for it first; nothing changes until I have it."

    "Oh no, let's get you a new one. 💜 To pull up your membership, what's your BlastPass member ID? It usually looks like MEGA-BLAST-####."

  3. 2
    Member
    Sure, it's MEGA-BLAST-1024.
  4. Returns & Service Assistant
    get_membership looks up MEGA-BLAST-1024 (read-only)

    Finds a BlastPass Plus Extra membership. Before deactivating a card, the agent verifies identity with two factors the real owner has, and reveals neither.

    "Got it, I found a Plus Extra membership under that ID. Before I deactivate the old card and issue a new one, I just need to confirm it's really you. Can you give me two things: the name on the membership, and the last 4 digits of your console's serial number?"

  5. 3
    Member
    It's Jordan Pixel, and the last 4 are 1024.
  6. Returns & Service Assistant

    "Name Jordan Pixel matches, and the serial ends in 1024. Both factors match. Identity confirmed. Now I can safely reissue."

    reissue_card deactivates the old card, mints a new serial, keeps membership active
    membership-card-png generates & runs Python (matplotlib)

    Renders a CR80 digital card from the get_membership details plus the freshly minted serial: name, Plus Extra purple tier badge, member ID, console serial, dates, barcode, and perks line.

    📄 hands back blastpass_card.png

    "Thanks, Jordan. You're verified. ✅ Your new digital card is ready. The old card is now deactivated; your tier, term, and BlastPoints are unchanged."

🦺
Output
blastpass_card.png: a tier-colored "PLUS EXTRA" digital membership card with the new serial

What was demonstrated

Confirms identity before acting

The agent checks two things only the real owner would know, the name on the membership and the last four of the console serial, before it changes anything. It never reveals either value while it asks.

Takes a real action through a tool

Through the Membership MCP server, reissue_card deactivates the lost card and issues a new serial in the system of record. That is a real change, separate from cancelling the membership, not just a written answer.

Hands back a real file

An AI Skill runs code at runtime to render the new card as a PNG, printed with the freshly issued serial. The member gets a card they can use right away while the physical one ships.

What gets generated

The member gets a digital card, rendered live by the membership-card-png skill (matplotlib) from the get_membership details plus the freshly minted serial. This is the actual PNG from a real run of the skill — download it to see exactly what the member saves to their phone.

BlastPass Plus Extra digital membership card for Jordan Pixel, member ID MEGA-BLAST-1024, with the freshly reissued card serial BLAST-A1B2-1024, purple tier band, member dates, console serial, and barcode.