Blog

40 User Story Examples (With Acceptance Criteria)

By Serhiy Khvashchuk · · No Comments

Below are 40 user stories grouped by product type: SaaS, e-commerce, mobile apps, marketplaces, fintech, healthcare, internal tools and AI features. Each comes with acceptance criteria, because a story without them is half written. After them: bad-to-good rewrites, an epic broken into stories, and non-functional stories.

Updated October 2026. New to user stories? Start with how to write user stories, then come back here for material to adapt.

The format used here

Each story follows the role-feature-benefit template:

As a [type of user], I want [goal or action] so that [benefit].

Acceptance criteria are short numbered checklists so they fit in a table; the user story template shows the Given/When/Then alternative. The numbers (time limits, thresholds) are placeholders for your own business rules.

SaaS and B2B user story examples

B2B stories revolve around accounts, roles and billing, and two users matter at once: the person doing the work and the admin who pays.

User storyAcceptance criteria
1. As a workspace admin, I want to invite teammates by email so that they can work in our account.(1) The invitation link is valid for 7 days. (2) I choose a role (Admin, Member or Viewer) before sending. (3) Inviting someone who is already a member shows an error instead of sending a duplicate.
2. As an account owner, I want to upgrade to a paid plan inside the app so that I can add seats without talking to sales.(1) I see the price and what changes before I confirm. (2) New limits apply as soon as payment succeeds. (3) If the card is declined, I stay on my current plan and see the reason.
3. As a team member, I want to sign in with my company Google or Microsoft account so that I don't need another password.(1) Sign-in offers both options. (2) My first sign-in from an allowed company domain adds me to that workspace. (3) Accounts from domains the admin hasn't allowed are refused with a clear message.
4. As a manager, I want to export the activity report to CSV so that I can share it with finance.(1) The export uses the filters currently applied. (2) The file has a header row and ISO dates (YYYY-MM-DD). (3) Exports over 50,000 rows are emailed as a download link instead of blocking the page.
5. As a new user, I want a short onboarding checklist so that I get to my first useful result without reading the docs.(1) 3 to 5 steps, each ticked automatically when done. (2) I can dismiss it and reopen it from the help menu. (3) Progress syncs across devices.
6. As a workspace admin, I want an audit log of permission changes so that I can answer our customers' security questionnaires.(1) Each entry records who changed what, when, and from which IP. (2) Nobody, including admins, can edit or delete entries. (3) The log can be filtered by user and date and exported.
SaaS and B2B user stories with acceptance criteria

E-commerce user story examples

Shop stories live or die on their unhappy paths: sold-out items, declined cards, late deliveries and returns.

User storyAcceptance criteria
7. As a shopper, I want to filter products by size and colour so that I only see items I can buy.(1) Filters only offer sizes and colours in stock. (2) Results update without a reload, and the URL keeps the filters so the view can be shared. (3) “Clear all” resets the list.
8. As a guest shopper, I want to check out without creating an account so that I can buy quickly.(1) Only email, address and payment are required. (2) After paying, I can create an account in one click. (3) The confirmation email arrives within a minute.
9. As a shopper, I want to see the delivery date before I pay so that I know whether the order will arrive in time.(1) Each shipping option shows an estimated delivery window. (2) The window updates when I change the address. (3) Items that ship separately show their own dates.
10. As a shopper, I want to be told when a sold-out item is back so that I don't have to keep checking.(1) “Notify me” replaces “Add to cart” when stock is zero. (2) I get one email when the item is back in stock, then the alert ends. (3) The email opens the product with my size preselected.
11. As a customer, I want to start a return online so that I don't have to email support.(1) Only orders inside the return window show a Return button. (2) I pick items and a reason and get a label or QR code. (3) Refund status appears in my order history.
12. As a store manager, I want to create a discount code with an expiry date so that I can run a weekend promotion.(1) I set a percentage or fixed amount, dates and a usage limit. (2) At checkout an expired code shows “This code has expired”. (3) Codes can't be combined unless I allow it.
E-commerce user stories with acceptance criteria

For checkout flows and order tracking in delivery apps, see the must-have elements of an on-demand app.

Mobile app user story examples

Mobile stories need criteria web stories can often skip: no signal, device permissions and biometrics.

User storyAcceptance criteria
13. As a commuter, I want my tickets available offline so that I can show them on a train with no signal.(1) Tickets and their QR codes open without a connection. (2) An offline banner shows when data was last synced. (3) Actions that need a connection are disabled with an explanation.
14. As a user, I want to sign in with Face ID or my fingerprint so that I don't type my password every time.(1) It is offered after my first password sign-in and stays off until I opt in. (2) The app asks for the password after 3 failed attempts or if the device's biometrics change. (3) I can switch it off in settings.
15. As a user, I want to choose which push notifications I get so that the app doesn't spam me.(1) Settings list each notification category with its own toggle. (2) Changes apply immediately. (3) The app asks for notification permission when I first turn a category on, not at first launch.
16. As a new user, I want to try the app before signing up so that I can decide whether it's worth it.(1) Main content can be browsed without an account. (2) Sign-up is requested only when I try to save or post. (3) Anything I saved as a guest carries over to my account.
17. As a user, I want to share an item to WhatsApp or Messages so that I can send it to a friend.(1) Sharing uses the phone's native share sheet. (2) The link opens the item in the app if it is installed, otherwise on the website. (3) The link preview shows the item's title and image.
Mobile app user stories with acceptance criteria

Marketplace and on-demand user story examples

Marketplaces have at least three roles (buyer, provider, operator), and a feature is rarely done until each has a story.

User storyAcceptance criteria
18. As a customer, I want to follow my courier on a map so that I know when to be at the door.(1) After pickup, the courier's position updates at least every 15 seconds. (2) An arrival estimate is shown and kept current. (3) Location sharing stops on delivery.
19. As a service provider, I want to set my weekly availability so that I only get requests I can accept.(1) I can set hours for each weekday and block specific dates. (2) Customers can't request slots outside those hours. (3) Changing availability doesn't cancel bookings already confirmed.
20. As a customer, I want to rate a provider after a job so that other customers can choose well.(1) The rating prompt appears when the job is marked complete and stays open for 14 days. (2) I give 1 to 5 stars and an optional comment. (3) Only customers with a completed booking can review that provider.
21. As a seller, I want to see when each payout will arrive so that I can plan my cash flow.(1) Each completed order shows the payout after fees and its expected date. (2) Payout history lists date, amount and orders. (3) If a payout fails, I'm told why and how to fix it.
22. As a marketplace operator, I want to review new sellers' listings before they go live so that prohibited items stay off the site.(1) A new seller's first listings go into a review queue. (2) Reviewers approve or reject with a reason the seller can see. (3) After approval, the seller's later listings publish at once unless they are flagged.
Marketplace and on-demand user stories with acceptance criteria

Fintech user story examples

In regulated products some criteria are set by law, such as identity checks or strong customer authentication for payments in the EU and UK. Treat these as a starting point and confirm the rules with your compliance adviser.

User storyAcceptance criteria
23. As a new customer, I want to verify my identity in the app so that I can open an account without visiting a branch.(1) I photograph an ID document and take a selfie in the app. (2) I see whether verification passed, failed or needs review, and what to do next. (3) Images are stored encrypted and every staff access is logged.
24. As a cardholder, I want to freeze my card instantly so that nobody can use it if I lose it.(1) Freezing takes effect within seconds and new card payments are declined. (2) Unfreezing restores the same card. (3) The screen explains what happens to recurring payments while frozen.
25. As a user, I want my transactions categorised automatically so that I can see where my money goes each month.(1) New transactions get a category within a minute of appearing. (2) When I change a category, future transactions from the same merchant follow my choice. (3) The monthly view shows a total per category.
26. As an account holder, I want large transfers to need a second confirmation so that my money is safe if someone learns my password.(1) Transfers above a limit I set require approval in the app or a one-time code. (2) The first payment to a new payee requires the same step. (3) Failed confirmations are logged and I'm notified.
27. As a small-business owner, I want to send invoices with a pay-now link so that clients can pay by card.(1) The invoice email includes a secure payment link. (2) The invoice is marked paid automatically when the payment succeeds. (3) Overdue invoices trigger reminders on days I choose.
Fintech user stories with acceptance criteria

Healthcare user story examples

Health data falls under rules such as HIPAA in the US and GDPR in the EU, so access control and audit logs appear in most criteria. Confirm the specifics with someone who knows the rules that apply to you.

User storyAcceptance criteria
28. As a patient, I want to book an appointment online so that I don't have to phone the clinic.(1) Only open slots for the chosen clinician and visit type appear. (2) Confirmation arrives by email or SMS with an add-to-calendar link. (3) I can cancel or reschedule until the clinic's cut-off; after it, the clinic's phone number is shown.
29. As a patient, I want medication reminders so that I don't miss doses.(1) I set reminder times for each medication. (2) The lock-screen notification doesn't show the medication name unless I allow it. (3) I can mark each dose taken or skipped and see my history.
30. As a clinician, I want a patient's recent lab results on one screen so that I can prepare for a visit quickly.(1) Results from the last 12 months, newest first, with out-of-range values highlighted. (2) Only the patient's care team can open the screen. (3) Every view is recorded in the access log.
31. As a patient, I want to join a video appointment from my browser so that I don't need to install anything.(1) The link works in current Chrome, Safari, Edge and Firefox on desktop and mobile. (2) I wait in a waiting room until the clinician admits me. (3) A camera and microphone check runs first, with help if access is blocked.
Healthcare user stories with acceptance criteria

Internal tools and admin user story examples

Internal tools are often built without stories because “it's only for us”, which is how they end up with a hundred fields and no clear job.

User storyAcceptance criteria
32. As a support agent, I want a customer's recent orders and tickets on one screen so that I can answer without switching tools.(1) I can search by email, phone number or order number. (2) The screen shows the last 10 orders and all open tickets. (3) Agents can see but not edit payment details.
33. As an operations manager, I want to update order statuses in bulk from a CSV so that I don't edit hundreds of records by hand.(1) A preview shows which rows will change and which have errors before anything is applied. (2) Rows with errors are skipped and reported. (3) Each bulk update is logged with who ran it.
34. As an IT admin, I want to deactivate a leaver's account in one place so that they lose access to every internal tool.(1) Deactivation ends all active sessions immediately. (2) Their open tasks are reassigned to their manager. (3) Their data is kept according to the retention policy, not deleted.
35. As a finance lead, I want expenses over a threshold to need approval so that large purchases are checked.(1) Expenses above the threshold go to the assigned approver. (2) The approver can approve or reject, with a comment, from the email or the app. (3) Requests not handled within 3 working days are escalated.
Internal tool and admin user stories with acceptance criteria

AI feature user story examples

AI features need extra criteria: what happens when the model doesn't know, where the data goes, and how you'll tell whether it helps. Keep a human in control of anything sent, published or paid for.

User storyAcceptance criteria
36. As a support agent, I want an AI-drafted reply for each ticket so that I can answer common questions faster.(1) The draft appears in the reply box, labelled as AI-generated, and is only sent when I click Send. (2) It links the help-centre articles it used. (3) When no relevant article exists, it says so instead of guessing.
37. As a user, I want to ask questions about my documents in plain language so that I can find answers without opening every file.(1) Answers only use documents I'm allowed to see. (2) Each answer links to its source passages. (3) If the documents don't contain the answer, it says it doesn't know.
38. As a team member, I want a short summary of long meeting notes so that I can catch up in a minute.(1) The summary lists decisions and action items with their owners. (2) I can regenerate or edit it. (3) Nothing is summarised automatically: a summary is created only when someone asks for it.
39. As a workspace admin, I want to turn AI features on or off for my team so that we stay within our data policy.(1) One setting controls every AI feature in the workspace. (2) The page states which provider processes the data and whether it is used for training. (3) The change applies to all users within minutes and is logged.
40. As a product manager, I want to see how often users accept, edit or reject AI suggestions so that I can tell whether the feature is helping.(1) Every suggestion is recorded as accepted, edited or rejected. (2) A dashboard shows these rates by week. (3) Analytics store only the outcome, never the prompt or document content.
AI feature user stories with acceptance criteria

Bad vs good: 6 user stories rewritten

Each rewrite names a specific user, keeps design decisions out of the goal and gives a real benefit.

Weak storyWhy it failsBetter version
The system shall support PDF export.Requirement language: no user and no reason.As an accountant, I want to download each month's statement as a PDF so that I can attach it to our records.
As a user, I want the app to be easy to use.Untestable, with no specific goal.As a first-time user, I want to start my first project from a template so that I see how the app works within a few minutes.
As a developer, I want to migrate to PostgreSQL.A technical task; the user value is hidden.As an analyst, I want monthly reports to load in under 3 seconds so that I can review them during meetings. The migration becomes a task under this story.
As a customer, I want to pay.Far too big: it hides payment methods, failures and refunds.As a customer, I want to pay by card at checkout so that I can finish my order in one step. Apple Pay, refunds and failed payments become separate stories.
As a user, I want a blue Save button in the top right corner.Dictates the design and leaves nothing to discuss.As an editor, I want my changes saved automatically so that I don't lose work if my browser closes.
As a manager, I want to see reports so that I can see reports.The benefit just repeats the goal.As a sales manager, I want each rep's pipeline by stage so that I can spot stalled deals before the quarter ends.
Weak user stories, why they fail, and a better version

The user stories guide explains the INVEST checklist behind these rewrites.

From epic to stories: a breakdown example

An epic is an outcome too large for one sprint. Here is “Customers can subscribe and pay” for a B2B SaaS product, broken into stories that can each ship on their own:

  1. As a new customer, I want to start a free trial without a card so that I can evaluate the product with no commitment.
  2. As a trial user, I want to pick a plan and add my card before the trial ends so that I keep my data and settings.
  3. As an account owner, I want to download past invoices so that I can file them for tax.
  4. As an account owner, I want an email a week before each annual renewal so that the charge doesn't surprise me.
  5. As an account owner, I want a grace period when a payment fails so that my team isn't locked out over an expired card.

For an MVP, stories 1 to 3 are enough to start charging; 4 and 5 matter once customers renew. The user story mapping guide shows how to draw that line.

Technical and non-functional user story examples

Performance, accessibility and reliability can be stories too. Name the user who feels the problem and make the criteria measurable:

  • As a mobile shopper, I want product pages to load quickly on a mid-range phone so that I don't give up before the page appears. Criteria: the main content shows within 2.5 seconds over 4G on a named test device; images below the fold load lazily.
  • As a screen-reader user, I want every sign-up field labelled and announced so that I can create an account on my own. Criteria: the form meets WCAG 2.2 level AA; it can be completed with a keyboard alone; errors are announced.

How to adapt these examples for your MVP

  1. Swap the roles for your real users. “As a shopper” becomes “As a parent buying school uniforms” if that is who you serve.
  2. Replace every number with your own rule. The 7-day invitations, 24-hour cut-offs and 3-second targets above are placeholders.
  3. Keep only the stories on your core journey for the first release.
  4. Add the unhappy paths your customers and support team already talk about.
  5. Refine each story with the people who will build it. A copied story still needs the conversation.

If you are deciding what goes into a first version without a technical co-founder, how to build an MVP as a non-technical founder covers the options. For a blank card with every field, use the user story template.

Got a backlog of stories and nobody to build them? Our team turns user stories into working software sprint by sprint. See our monthly development plans.

Frequently asked questions

What is a good example of a user story?

“As a returning customer, I want to reorder a previous purchase in one tap so that I can restock without searching again.” It names a specific user, a goal with no design decisions in it, and a real benefit. Add criteria such as: items no longer sold are flagged before checkout, and current prices are used, not the original ones.

What is an example of an epic?

“Customers can subscribe and pay” is an epic: one outcome that is too big for a sprint. It breaks down into stories such as starting a free trial, adding a card before the trial ends, downloading invoices and handling failed payments.

How do you write a technical user story?

Name the person who feels the benefit, even if it is a teammate (“As the on-call engineer…”), state the value in the so-that clause, and give measurable criteria. If there is no user-visible value at all, it is probably a task under another story rather than a story.

How many acceptance criteria should a user story have?

Usually three to six. Fewer often means unhappy paths are missing; many more usually means the story is too big and should be split.