Genspark Support Agent Training
Your complete reference for Genspark support — helping customers confidently and professionally.
Introduction
Who this training is for
This guide is for new Genspark support agents. It covers everything you need to help customers confidently and professionally.
What a typical day looks like
You'll start your shift by checking your assigned views in Plain. Work through threads in priority order — read the customer card, check thread fields, look at prior threads from that customer, then respond. For billing issues, cross-reference with Stripe. Keep threads moving: respond, resolve, close. Leave clean internal notes whenever you hand something off.
Tone Guide — How We Sound
We're warm, friendly, direct, and human. We don't sound like a policy document. We don't use corporate filler.
| ✅ Say this | ❌ Not this |
|---|---|
| "Happy to help with that!" | "Thank you for contacting support." |
| "It looks like your subscription renewed on March 1." | "Per our records, the subscription renewal date was March 1st." |
| "I've gone ahead and processed that refund for you." | "Your refund request has been processed." |
| "Let me know if anything else comes up!" | "Please don't hesitate to contact us again." |
| "Heads up — this might take 5–10 business days to show up." | "Please be advised that processing times may vary." |
Plain — Support Ticketing Platform
1.1 Platform Overview
Plain is our support ticketing platform. It's where all customer conversations live — whether they come in via email, chat, or other channels.
Key concepts
- Thread — a single customer conversation. Every support interaction is a thread.
- Customer — the person reaching out. Each customer has a profile with their history.
- Workspace — your team's Plain environment. Everyone on the team works in the same workspace.
- Queue — the pool of threads waiting for attention.
- View — a filtered slice of the queue. You'll work primarily from views.
- Labels — tags applied to threads to categorize and route them.
- Thread Fields — structured data attached to a thread (plan type, user ID, etc.)
- Customer Card — a panel showing live info about the customer (billing, plan, history).
- Snippet — a pre-written reply template you can insert and personalise.
1.2 Views
A view is your filtered window into the queue. Think of it as a smart inbox — it shows only the threads that match certain criteria (label, status, assignee, etc.).
Shared views vs. personal views
- Shared views are set up by the team and visible to everyone. These are the main queues you'll work from daily.
- Personal views are yours alone.
Your assigned views
Japan team views
Agents on the Japan team have two dedicated views to work from:
- Japan tickets — All open threads from Japan-region customers. This is your primary queue. Work through these in priority order, oldest-first.
- Japan escalations — Threads that have been escalated from the Japan queue and require additional attention or senior review. Always check this view before starting on Japan tickets.
How to navigate to a view
Views appear in the left sidebar of Plain. Click any view to open it. The number next to each view shows how many open threads are in it.
Working from a view
- Threads are listed with customer name, subject, last activity, and labels
- Click a thread to open it
- Use
J/Kto move up/down through threads without leaving the list - Once you've handled a thread, it moves out of the view when its status changes
1.3 Working a Thread
When you open a thread, here's what you'll see:
Anatomy of a thread
- Timeline (center) — the full conversation history: customer messages, replies, internal notes, and system events
- Customer panel (right side) — customer card, thread fields, recent threads from this customer
- Reply/Note composer (bottom) — where you type your response
Thread statuses
| Status | What it means |
|---|---|
| Open | Needs attention, hasn't been responded to |
| In progress | Being actively worked on |
| Snoozed | Set aside temporarily (waiting for reply, follow-up later) |
| Done | Resolved and closed |
How to claim a thread
If a thread isn't assigned to anyone, assign it to yourself before you start working it. This prevents two agents from responding at the same time.
Snoozing a thread
Use snooze when you're waiting on something — a reply from the customer, a response from another team, or a scheduled follow-up. Set a snooze time and Plain will resurface it automatically.
Moving a thread to Done
Once the issue is resolved and the customer has been helped, mark the thread as Done. Don't leave threads in "open" or "in progress" longer than necessary.
1.4 Responding to Customers
Plain gives you three ways to add to a thread. Use the right one every time.
💬 Reply
Sends a message directly to the customer. This is what the customer sees. Use it for all customer-facing communication.
- Always read the full thread before replying — never ask a customer to repeat information they already gave
- Personalise every reply — use the customer's name, reference their specific situation
- Keep it warm, simple, and direct
🔒 Internal Note
Visible only to your team. The customer never sees it. Use it for:
- Context you want to leave for a colleague
- Notes before escalating
- Documenting a decision or exception you made
- Flagging something unusual about the thread
📝 Snippet
Plain's term for a reply template. Pre-written responses for common scenarios.
Most-used Snippets at Genspark
When you open the Snippets panel in Plain, you'll see a searchable list of pre-written replies organised by category. Here's an example of how snippets appear in the panel:
• Refund Confirmation — Use after processing a refund. Confirms amount and timeline.
• Cancellation Confirmed — Use after cancelling a subscription.
• Self-serve Cancellation Guide — Use when directing a customer to cancel themselves.
Searching for past threads
Before replying to a complex issue, search for similar past threads to see how the team has handled it. Use Cmd+K and search by keyword, customer name, or email.
1.5 Labels
Labels are tags that categorize threads. They appear as colored chips on each thread in the view.
Why labels matter
- They help the team see at a glance what a thread is about
- They're used to route threads to the right people
- They feed into reporting — so leadership can see what issues are trending
- They can trigger automated workflows
How to apply a label
- Open the thread
- Look for the Labels field in the right-hand panel
- Click to add a label — start typing to search
- Multiple labels can be applied to one thread
Nested labels
In Plain, labels can be nested up to three levels deep. If you apply a child label, its parent labels are applied automatically. If you remove a parent label, its child labels are removed too.
Genspark label taxonomy
1.6 Customer Card
The customer card is a panel on the right side of every thread that shows live information about the customer. Always check it before you start typing a reply.
Why it matters
It gives you instant context. You'll know their plan, when they last paid, and when their next billing date is — before you even read their message fully. This means you can give a better, faster, more accurate response.
Key fields to check
| Field | What it tells you | When it's useful |
|---|---|---|
| Last payment | When they were last charged and for how much | Refund requests, billing disputes |
| Next billing date | When their next charge is due | Questions about upcoming charges |
| Credit balance | Genspark credits on their account | Usage and credit questions |
1.7 Thread Fields
Thread fields are structured data fields attached to every thread. They live in the right-hand panel and are pre-populated automatically.
What agents can edit
- Labels — apply or correct as needed (see Section 1.5)
What agents should read and use
Use these fields to inform your response. Don't make the customer repeat information that's already here.
| Field | What it tells you | When to use it |
|---|---|---|
| User ID | The customer's unique ID in Genspark's system | Any escalation or engineering request |
| Plan type | What plan they're on (Free / Plus / Pro) | Before any billing or feature conversation |
| Billing email | The email used for payment | When searching for them in Stripe |
| Login method | How they sign in (Google, email/password, etc.) | Account access and login issues |
Checking recent threads from the same customer
Before replying, scroll down in the right panel to see other recent threads from this customer. This tells you:
- If they've contacted us before about the same issue
- If there's context from a previous interaction that's relevant
- If someone else on the team is already handling something related
Never make a customer repeat themselves. If the answer is in a prior thread, use it.
Merging threads
If you see two open threads from the same customer about the same issue, merge them.
- Open one of the threads
- Press
Cmd+Kto open the command palette - Search for "Merge thread"
- Select the thread you want to merge into
- Confirm — the threads will be combined into one
1.8 Search & Navigation
Global search — Cmd+K
Press Cmd+K from anywhere in Plain to open the command palette. From here you can:
- Search for a thread by keyword, customer name, or email
- Jump to a specific view
- Take actions on the current thread (assign, label, snooze, merge, copy ID)
Filtering threads in a view
Within any view, use the filter bar to narrow down by: status, label, assignee, date range.
Finding duplicate or related threads
When handling a thread, search the customer's email or name to check for related threads. If you find a duplicate, merge them (see Section 1.7).
1.9 Escalation Workflow
When to escalate
- The issue is beyond your permissions or knowledge
- It requires engineering or product involvement
- A plan downgrade requires steps beyond standard tooling (see Section 2.6)
- You're unsure and need a second opinion
How to escalate in Plain
- Add an internal note explaining the issue, what you've already checked, and what you need
- Assign the thread to the relevant person
- Apply the appropriate escalation label if one exists
Handoff etiquette
Leave a note the next person can act on without asking you. Include:
- What the customer's issue is (one sentence)
- What you've already checked or tried
- What you need from the next person
- Any urgency or deadline
Stripe — Billing & Payments
2.1 Platform Overview
Stripe is the payment platform Genspark uses to handle all subscriptions and billing. As a support agent, you'll use it to look up billing info, check payment history, cancel subscriptions, and process refunds.
What you can do in Stripe
- View customer billing info and subscription status
- Check payment history
- Cancel subscriptions
- Process full or partial refunds
How to find a customer in Stripe
- Go to the Stripe dashboard
- Click Customers in the left nav
- Use the search bar — search by billing email (from Plain thread fields)
- Click the customer to open their record
To be added by team
2.2 Checking Billing Status
When a customer contacts us about their account or plan, start by checking their billing status in Stripe.
What to look for
- Plan name — what they're subscribed to
- Billing cycle — monthly or annual
- Status — see table below
- Next payment date — when they'll be charged next
- Amount — what they'll be charged
| Status | What it means |
|---|---|
| Active | Subscription is running normally |
| Past due | A payment failed and is being retried |
| Canceled | Subscription has been cancelled |
| Trialing | Customer is in a free trial |
| Paused | Subscription is temporarily paused |
2.3 Checking Payment History
- Open the customer record in Stripe
- Go to the Payments tab
- Each payment shows: date, amount, card used, and status
| Status | What it means |
|---|---|
| Succeeded | Payment was successful |
| Failed | Payment was declined or couldn't be processed |
| Refunded | Payment has been fully refunded |
| Partially refunded | A partial refund was issued |
If a payment shows as failed
- Note when it failed and how many times it's been retried
- Check if there's a newer successful payment (Stripe sometimes auto-retries and succeeds)
- Let the customer know: "It looks like your last payment didn't go through. You may want to check with your bank or try updating your payment method in your account settings."
2.4 Subscription Cancellations
2.4.1 Customer Self-Service Cancellation (Preferred)
For most cancellation requests, direct the customer to cancel themselves. It's faster for them and keeps things clean on our end.
Share this step-by-step with the customer:
Here's how to cancel your subscription:
1. Log in to your Genspark account
2. Click your profile icon in the bottom-left corner of the sidebar
3. Select View Plan (or Edit Billing)
4. Click Cancel subscription
5. Follow the prompts to confirm
Once cancelled, you'll keep access until the end of your current billing period. After that, your account reverts to the free plan.
When to direct to self-serve: Customer is asking how to cancel, no refund is involved, standard cancellation.
2.4.2 Agent-Assisted Cancellation
Use this when the cancellation is paired with a refund, or the customer is unable to do it themselves.
| Type | When to use |
|---|---|
| End of period | Default. Customer keeps access until billing cycle ends. |
| Immediate | Only when a refund is being processed at the same time, or customer explicitly requests it. |
- Open the customer record in Stripe
- Go to the Subscriptions section
- Click the active subscription
- Click Cancel subscription
- Choose: Cancel immediately or Cancel at end of period
- Confirm
To be added by team
After cancelling, reply to the customer:
"I've gone ahead and cancelled your subscription. You'll keep access until [end date], and after that your account will switch to the free plan. Let me know if there's anything else I can help with!"
2.5 Refund Policy & Process
2.5.1 Standard Refund Policy
Genspark's refund policy (sourced from the Help Center):
| Subscription type | Refund window |
|---|---|
| Monthly | Within 24 hours of the charge |
| Annual | Within 72 hours of the charge |
| EU / UK / Turkey customers | Within 14 days of purchase (monthly and annual) |
⚠️ We cannot process a second refund after the first has been approved.
2.5.2 Exceptions — Unused Account Cases
An exception to the standard window may be made if both of the following are true:
- The customer has not used the platform (no sessions, no activity)
- The customer has not used any credits
These are judgment calls. Use the customer card and thread fields to check activity before deciding.
How to handle an exception
- Process the refund in Stripe (see 2.5.4)
- Add an internal note: "Approved outside standard window — customer has not logged in or used any credits."
- Reply warmly: "Even though this is a bit outside our usual refund window, I can see you haven't had a chance to use the account, so I'm happy to make an exception here."
When NOT to make an exception
- Customer has used the platform meaningfully (sessions, credits used)
- Customer has already received a refund before (no second refunds)
- The request feels like abuse (unusual pattern)
2.5.3 Refunds on Closed Subscriptions
When a customer contacts us after their subscription has already been cancelled:
- Apply the same standard policy as your baseline
- Be more lenient when the customer says the product did not meet their expectations
- Use judgment — if they're genuine and the timing is close, lean toward the customer
- Always document your reasoning in an internal note
2.5.4 How to Process a Refund in Stripe
- Open the customer's record in Stripe
- Go to Payments and find the charge
- Click on the payment
- Click Refund
- Choose: Full refund or enter a specific amount for a partial refund
- Add a reason (optional but good practice)
- Click Refund
To be added by team
Confirm back to the customer:
"I've processed your refund of [amount]. It typically takes 5–10 business days to show up on your statement, depending on your bank. Let me know if you have any questions!"
2.6 Customer Plan Downgrade (Stimulator + Stripe)
2.6.1 Overview
When a customer needs their subscription plan downgraded, use the Stimulator tool to execute the plan change, then complete the balance adjustment and refund steps in Stripe.
2.6.2 Step-by-Step Process
- Access both tools. Open Stripe and the Stimulator tool for the customer whose plan needs to be downgraded.
- Input Member ID in Stimulator. In the Stimulator tool, paste the customer's member ID to load their subscription details.
- Verify subscription details in Stripe. Review the customer's current subscription to confirm the billing cycle (e.g. monthly) and the active plan.
- Select the downgrade plan in Stimulator. Use the "New Price" dropdown to select the target downgrade plan (e.g. the plan priced at $24.99 to return to a previous rate).
-
Execute downgrade. Click "Downgrade & Bill Now".
⚠️ IMPORTANT: Make sure the checkbox for "Refund latest active payment to original payment method" is NOT selected. Do not refund at this step.
- Refresh Stripe. Return to Stripe and refresh the customer's page to load the updated subscription and payment information.
- Identify the customer invoice balance. Scroll down to the "Customer invoice balance" section and note the current balance (e.g. $31.16 USD).
-
Adjust customer balance to zero. Click "Adjust balance". In the "Credit balance adjustment" pop-up:
- Set Adjustment type to Debit
- Enter the exact Amount from the previous step (e.g. $31.16)
- Confirm the New balance shows $0.00
- Click "Apply to credit balance"
- Refund the specific invoice. Scroll up to the "Invoices" section on the Stripe page. Identify the second most recent invoice that needs to be refunded (based on the specific scenario, e.g. the $54.99 payment). Click on it and initiate the refund.
2.6.3 Key Reminders
| Step | Watch out for |
|---|---|
| Stimulator — selecting plan | Prices shown without tax. Stripe shows with tax. |
| Downgrade & Bill Now | Do NOT check "Refund latest active payment" — refund happens later in Stripe |
| Balance adjustment | Use Debit type to zero out the balance |
| Refund invoice | Target the second most recent invoice, not the most recent |
2.7 SOP: Handling Claims of Fraudulent Card Use (Refund Path)
2.7.1 Classify the Case
Treat it as "Suspected stolen card / true fraud" when ALL of the following are true:
- The person contacting us says they did not sign up for Genspark and did not authorize anyone to do so.
- They provide charge details (amount / date / last 4) that match our Stripe records.
- Their email and/or name do not clearly match the Genspark account owner.
If they do recognize the account or remember signing up, handle under normal refund/cancellation policies, not this fraud flow.
2.7.2 What to Collect
- Email they're writing from
- Last 4 digits of the card
- Dates and amounts of the Genspark charges they don't recognize
2.7.3 Internal Checks
Locate the customer in Stripe and/or Genspark using:
- Transaction ID / payment ID
- Email / last 4 digits / amount & date
Confirm the transactions match what they reported. Also take a quick look at:
- Signup date and country/IP (if easily visible)
- Whether there are multiple payments / subscriptions
If it fits "suspected stolen card / true fraud," proceed to the refund flow below.
2.7.4 Actions to Take
For all confirmed fraudulent-use cases, take the following steps in order:
- Stop future charges. Cancel all active Genspark subscriptions in Stripe.
- Suspend the user in Genspark. Disable access to the related account.
- Refund eligible payments. Refund all Genspark charges within the policy window (e.g., last 90 days). Use Stripe to issue refunds; add an internal note: "Fraud – customer reported stolen card" and link the support ticket.
-
Document in the ticket. Record:
- Stripe customer ID and payment IDs refunded
- Which subscriptions were canceled
- Short note: "Customer reports card stolen / did not authorize any Genspark use. Refunded and blocked per fraud SOP."
- Add the internal tag:
TRUE_FRAUD_REPORTED
2.7.5 Response Template to the Reporting Cardholder
Thanks for reaching out and I'm sorry to hear about the unauthorized charges.
We've found the Genspark charges on our side and confirmed they're linked to an account that shouldn't be using your card.
Here's what we've done:
• Canceled all subscriptions connected to these charges.
• Disabled access to the related Genspark account.
• Issued refunds for the following payments: [amount(s) and date(s)]. These will return to your card via your bank, usually within 5–10 business days depending on their processing time.
If you see any additional Genspark charges you don't recognize, please reply with the date and amount so we can review and refund those as well.
Your bank may also recommend additional steps such as issuing a new card number; they'll be able to advise you on that.
2.7.6 When to Escalate
Support should escalate to CX leadership / payments owner if:
- Total refunds for this cardholder exceed a defined threshold (e.g., >$500 total)
- There is a repeating pattern from the same IP / device / email cluster
- Law enforcement or a lawyer is mentioned
2.7.7 Quick Checklist
For every "stolen card / true fraud" ticket, support should be able to say "yes" to all of the following before closing:
| ✅ Check | Notes |
|---|---|
| Confirmed charges in Stripe match the user's report | |
| All related Genspark subscriptions canceled | |
| Access to the account disabled | |
| Recent charges refunded per policy | e.g., last 90 days |
| Internal tag added | TRUE_FRAUD_REPORTED |
| Customer informed | Clear list of refunded payments + next steps |
Real-World Scenarios
These scenarios combine Plain and Stripe. Use them as playbooks for the most common situations you'll face.
Scenario 1 — Refund request within policy
Situation: Customer says they were charged and wants a refund.
- Check thread fields in Plain: note the plan type and billing email
- Look up the customer in Stripe using their billing email
- Check the charge timestamp — within 24h (monthly) or 72h (annual)?
- If yes: process the refund (2.5.4), reply to confirm, mark thread Done
- If no: check if the account is unused — see exception criteria (2.5.2)
Example reply (within policy):
"Hi [Name], happy to help! I can see your [monthly/annual] subscription was charged on [date]. Since you're within our refund window, I've gone ahead and processed a full refund of [amount]. It should appear on your statement within 5–10 business days. Let me know if you need anything else!"
Scenario 2 — Refund request outside window, unused account
Situation: Customer wants a refund but it's past the 24h/72h window. However, they haven't used the account.
- Check Stripe: confirm charge date and amount
- Check the customer card: any usage? Any credits consumed?
- If unused: approve exception, process refund, document in internal note
- If used: decline politely, reference the policy
Example reply (exception approved):
"Hi [Name], I can see your refund request is a little outside our usual window — but I also notice you haven't had a chance to use the account at all. I'm happy to make an exception here. I've processed your refund of [amount], which should show up within 5–10 business days."
Example reply (decline):
"Hi [Name], I really appreciate you reaching out. Our standard refund window for [monthly/annual] subscriptions is [24 hours/72 hours] from the charge date, and your request came in a bit after that. Because there's been some usage on the account, I'm not able to process a refund on this occasion. I'm sorry about that — please don't hesitate to reach out if there's anything else I can help with."
Scenario 3 — Customer wants to cancel
Situation: Customer wants to cancel their subscription.
- Direct them to self-serve first (see 2.4.1) — share the step-by-step
- If they're unable to self-serve or a refund is involved, handle it in Stripe (2.4.2)
- Confirm the cancellation in your reply and remind them they keep access until end of period
Scenario 4 — Closed subscription, product didn't meet expectations
Situation: Customer already cancelled and now wants a refund, saying the product didn't work for them.
- Check Stripe: when did they subscribe? When did they cancel? What payments were made?
- Apply standard refund window as baseline — but be more lenient if they're genuine
- Use judgment: how long ago? What's the amount? Does the request feel reasonable?
- If approving: process refund, document reasoning in internal note
- If declining: explain kindly, acknowledge their feedback
Scenario 5 — Customer Plan Downgrade
Situation: A customer needs their subscription plan downgraded to a lower-priced plan.
Tools needed: Stimulator tool + Stripe (have both open before starting)
- Open both Stripe and the Stimulator tool for the customer
- Paste the member ID into Stimulator to load their subscription details
- Verify current plan and billing cycle in Stripe
- In Stimulator, use the "New Price" dropdown to select the target downgrade plan
- Click "Downgrade & Bill Now" — ensure the refund checkbox is NOT checked
- Refresh Stripe and note the customer invoice balance
- In Stripe, click "Adjust balance" → set type to Debit → enter exact balance amount → apply
- Scroll to Invoices → find the second most recent invoice → initiate the refund
Scenario 6 — Payment failed, customer locked out
Situation: Customer says they're locked out or their account isn't working — possible payment issue.
- Check billing status in Stripe (2.2)
- Find the failed payment in payment history (2.3)
- Let the customer know and direct them to update their payment method
Example reply:
"It looks like your most recent payment didn't go through on [date]. Your bank may have declined it. The easiest fix is to update your payment method in your account settings: click your profile icon → Edit Billing → Update payment method. Once that's done, your subscription should be back to normal! Let me know if you run into any trouble."
Quick Reference Cheat Sheets
Refund Policy at a Glance
| Customer type | Monthly | Annual |
|---|---|---|
| Standard | 24 hours from charge | 72 hours from charge |
| EU / UK / Turkey | 14 days from purchase | 14 days from purchase |
| Exception (unused) | Case-by-case | Case-by-case |
Exception criteria: Customer has not used the platform AND has not used any credits.
No second refunds after one has already been approved.
Escalation Guide
| Situation | Action |
|---|---|
| Plan downgrade (Stimulator + Stripe) | Follow the 9-step process in Section 2.6 |
| Refund exception (unused account, outside window) | Agent can decide — document in internal note |
| Stolen card / true fraud reported | Follow fraud SOP (Section 2.7) — cancel sub, suspend account, refund, tag TRUE_FRAUD_REPORTED; escalate if >$500 or pattern detected |
| Engineering or product issue | Internal note + assign to relevant person |
| Unsure about anything billing-related | Add internal note, ask the team |
Plain Cheat Sheet
| Action | How |
|---|---|
| Open command palette | Cmd+K |
| Move up/down through threads | J / K |
| Send a reply | Cmd+Enter |
| Add an internal note | Toggle to "Note" in the composer |
| Apply a label | Right panel → Labels |
| Merge a thread | Cmd+K → "Merge thread" |
| Snooze a thread | Cmd+K → "Snooze" |
| Copy customer/thread ID | Cmd+K → "Copy ID" |
Stripe + Stimulator Cheat Sheet
| Action | Where / Path |
|---|---|
| Find a customer | Stripe: Customers → Search by billing email |
| Check subscription status | Stripe: Customer record → Subscriptions tab |
| Check payment history | Stripe: Customer record → Payments tab |
| Cancel a subscription | Stripe: Subscriptions → Click sub → Cancel subscription |
| Process a refund | Stripe: Payments → Click payment → Refund |
| Downgrade a plan | Stimulator: paste member ID → New Price → Downgrade & Bill Now (refund box UNCHECKED) → Stripe: zero invoice balance → refund 2nd most recent invoice |
| Stolen card / fraud claim | Cancel sub in Stripe → suspend account in Genspark → refund eligible payments → add note + tag TRUE_FRAUD_REPORTED → see Section 2.7 |
Tone Guide
| ✅ Say this | ❌ Not this |
|---|---|
| "Happy to help with that!" | "Thank you for contacting support." |
| "Let me take a look at that for you." | "Your inquiry is being reviewed." |
| "It looks like..." | "Per our records..." |
| "I've gone ahead and..." | "This has been processed." |
| "Let me know if anything comes up!" | "Please don't hesitate to contact us." |
SLA Targets
Questions? Ask your team lead. You've got this. 🎉