Browse the docs

Agent setup guide

License Key Support Desk

“My license key doesn't work”: the key is checked with Gumroad and the right reply drafted for its state; refunds and edge cases wait for you.

Available About 10 min to set up

What it does

“My license key doesn't work”: the key is checked with Gumroad and the right reply drafted for its state; refunds and edge cases wait for you.

  • Starts when your support form, help widget or an email-forwarding rule sends the customer's email, key and message.
  • Checks the key with Gumroad (without counting a use) and decides its state in code: valid, refunded, charged back, subscription cancelled or failed, or not found.
  • AI writes the reply for that case: activation steps, a polite explanation, how to restart a subscription, or a request for the purchase email and receipt. It never reveals purchase details.
  • Routine replies for valid keys are emailed at once; refund requests, refunded or disputed keys, ended subscriptions, unknown keys and sensitive messages wait in a high-priority review.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Gumroad, connected in Settings → Integrations.
  • A support form, help widget or email rule that can post to a webhook.

What it doesn't do

  • It never refunds, adds activations or gives discounts: a person decides, in Gumroad.
  • Gumroad only (not Lemon Squeezy), one product per setup.
  • It can't see your app's own activation records, only Gumroad's.

Availability and plans

Available

Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: Gumroad.
  • A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
  • About 10 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect Gumroad

Connect Gumroad with an access token (Settings → Integrations → Gumroad).

3. Pick the product

Open “Check the key in Gumroad” and pick your account and the product with license keys.

SettingWhat to enterIn step
Gumroad accountThe Gumroad account that sells the product. Pick your connected Gumroad account.“Check the key in Gumroad”
Product with license keysThe Gumroad product whose keys customers ask about.“Check the key in Gumroad”

4. Describe activation and refunds

Open “Write the reply” and replace the placeholder with your activation steps and policies.

SettingWhat to enterIn step
Your activation and refund detailsReplace the placeholder with your activation steps, activation limit, common mistakes, how subscribers restart, your refund policy, tone and sign-off. It starts as “[DESCRIBE YOUR PRODUCT, HOW CUSTOMERS ACTIVATE THE LICENSE KEY (STEP BY STEP), THE ACTIVATION LIMIT, COMMON MISTAKES, HOW SUBSCRIBERS RESTART OR UPDATE PAYMENT, YOUR REFUND POLICY IN YOUR OWN WORDS, YOUR TONE AND YOUR SIGN-OFF]” until you replace it.“Write the reply”

5. Add your support inbox

Open “Email the reply” and enter the Reply-to.

SettingWhat to enterIn step
Support inbox (replies)Customers' replies come back to this address.“Email the reply”

6. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

7. Switch the trigger on

Open the trigger, switch the webhook on and send your support form's key requests to its URL (with the secret). Fields: email, license_key, message, name (optional).

How it works

The agent is a normal workflow with 11 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • Customer says their key doesn't work — Starts when your form or app sends data to the agent's webhook URL. Starts when your support form, help widget or an email-forwarding rule sends: email, license_key, message (and optionally name).
  • Check the key in Gumroad — Gumroad: Verify a license key. Asks Gumroad whether the key exists for your product and whether its purchase was refunded, charged back or its subscription ended. It doesn't count as a use.
  • What state is the key in? — Decision: picks the branch to follow. In code, from Gumroad's answer: refunded, charged back, subscription cancelled, subscription payment failed, or valid. A key Gumroad doesn't know goes on as “not found”.
  • Write the reply — AI step (runs on your AI provider key). Branch: Not found / Refunded / Charged back / Cancelled / Payment failed / Valid. AI writes the reply for the case code found: valid → how to activate; refunded or charged back → a polite explanation; subscription ended → how to restart; not found → ask for the purchase email and receipt.
  • Valid key? — Step. In code: did Gumroad confirm a valid, active key? Only then may a routine reply go out without review.
  • Check the reply — Step. In code: one valid customer email, a subject and body, no leftover placeholders.
  • Send or review? — Decision: picks the branch to follow. A routine reply for a valid key is sent at once; refunds, refunded or disputed keys, ended subscriptions, unknown keys and anything sensitive wait in a high-priority review.
  • Held: reply incomplete — Kept in the run history. Branch: Incomplete. No valid customer email, or the reply was blank or had a placeholder. Nothing was sent.
  • Approve the reply — A person approves or rejects it in Reviews (the run waits). Branch: Review. Refund requests, refunded or disputed keys, ended subscriptions, unknown keys and sensitive messages wait here. Refund in Gumroad yourself if you decide to; then edit and approve the reply.
  • Email the reply — Sends an email from your workspace's sender. Branch: Routine / Approved. Sends the reply to the customer from your workspace's sender, with replies to your support inbox.
  • Reply sent — Kept in the run history. The run history keeps the key state and the reply.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. Edit the sample to match the fields your own form or app sends.

Sample data fields

email, license_key, message, name.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.

Go live

  • Open the trigger, switch the webhook on and send your support form's key requests to its URL (with the secret). Fields: email, license_key, message, name (optional).
  • The webhook is protected by a secret: send it in the header shown in the Activation panel (requests without it are refused with 403). Each request starts one run.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Does it work with Lemon Squeezy?

Not this agent: it checks keys with Gumroad. An agent can't choose between two apps at run time, so a Lemon Squeezy version would be a separate agent.

Can it refund the customer?

No. Refund requests and refunded or disputed keys always wait for a person. If you decide to refund, do it in Gumroad, then approve the reply.

What if I sell several products with keys?

Each setup checks keys for one Gumroad product. Set up a copy per product and point each product's support form at its own webhook.

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • Nothing happens when your form sends data: check the webhook is switched on and the request carries the secret header (403 means it's missing or wrong).
  • A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .