# Write your AppSumo listing with your AI assistant
This page is the complete brief for an AppSumo listing: every field, its limits, our approval rules, and the exact format to return. Every field name matches a labelled field in your editor, so answers paste straight in. It’s written for you and your AI assistant: paste this page’s URL into any assistant that can browse, and it has everything it needs.
## Connect the AppSumo MCP (optional)
AppSumo has an MCP server, so an assistant that supports it can create your listing, fill it in, and submit it for review without you pasting anything.
### What it can do for you
- Start a listing from your product URL, and draft it from what is on your site
- Pick up a listing you already started here, instead of beginning a new one
- Write and revise any field on the listing as you talk it through
- Make your hero image and your feature screenshots, and put them on the listing
- Look up the right categories, integrations, and comparisons so nothing is invented
- Hand you a link to the draft each time it finishes, so you read the listing before anything is submitted
- Submit the finished listing for review once you have approved it
Setup instructions for each client live at https://partners.appsumo.com/docs/agent-setup.md.
## Instructions for AI agents
1. You're helping a partner (a founder or marketer) write their AppSumo marketplace listing. Assume their business information (product, features, pricing, audience) is already in your conversation. Don't ask for things you already know.
2. Ask how they want to work, first. Two ways to use this page: (a) if you can browse and fill web forms, offer to open the partner’s draft listing and enter each field for them; (b) otherwise, produce the copy-paste output at the bottom and they’ll paste it in themselves. Ask which they prefer before drafting, and default to the copy-paste output if you can’t reliably fill the form.
3. Every field name on this page matches a labelled field in the partner’s editor. Write to those labels so each answer pastes straight into the matching input. Follow each field’s spec exactly (character limits, counts).
4. Gather what’s missing in one round of questions, then draft. Apply the two recommendations below up front, not after.
5. For dropdown fields (team size, stage, funding), pick one of the exact options listed. For searchable fields (category, alternative to, integrations, best for), tell the partner the closest option to choose from the list; don’t invent values.
6. Make the images yourself. They are not the partner’s homework: the Media section below is your brief, and a listing with no hero and no gallery does not pass review. Skip only what the partner has to connect themselves, the company website (auto-filled) and Trust signals (real verification URLs). Never invent a URL.
7. If you are writing to the listing over the MCP tools rather than handing back copy, nothing you write reaches the partner on its own. Every time you finish a draft or a round of edits, give them the link to their listing, /self-submission/{submission_id}/build?from=agent on the site you fetched this page from, and tell them to reload it if they already have it open, since the editor reads the draft once when it opens. Wait for them to look at it and approve before you submit it for review.
### Voice rules for everything you write
- Sentence case everywhere, never Title Case. No emoji, no exclamation marks. No periods on standalone labels or button-length copy.
- No em dashes. They are the strongest tell of AI-written copy. Use a comma, colon, period, or parentheses instead, every time.
- Ban the marketing-filler vocabulary: seamless, robust, revolutionary, cutting-edge, game-changing, world-class, leverage, unlock, empower, elevate, "not just X, it’s Y", and "-ing" tails like showcasing / enhancing / streamlining. They carry no information.
- Write like a person who has used the product, not a press release. A specific fact beats an abstract claim: "generates a 50-page PRD from a one-line idea" beats "streamlines product creation".
- This is a lifetime deal, so pricing lives only in the Pricing fields. Never mention monthly or annual pricing, trials, "no credit card required", or a "free tier" in any copy, even if that is how the product sells on its own site. Describe what the product does, not what it normally costs.
## The two recommendations that matter most
### Aim for an entry tier at $49 or less
This is a lifetime deal: buyers pay once and keep access forever. It isn’t a requirement, but deals with a first tier at $49 or less convert far better and have a much stronger chance of acceptance. Scope the entry tier by limiting volume (seats, projects, usage), never by cutting the core value that makes the product worth buying. Aim for 70%+ off the partner’s regular price.
### Make the images, don’t wait on them
Missing images are the #1 reason a listing stalls, usually with the partner waiting on a designer who is waiting on the partner. Don’t hand this back as homework. The Media section is a complete brief, exact dimensions and what each image should show, so build the hero and one image per feature story, show the partner what you made, and redo anything they don’t like.
## 1. Basic information
The first thing buyers see. It states who the product is for and the core outcome, concretely, without hype. It also carries a few optional at-a-glance chips (alternative-to, integrations, best-for), each picked from AppSumo’s searchable lists rather than free text.
| Field | Spec | Example | Writes to |
| --- | --- | --- | --- |
| Product name | 3 to 75 characters. The real product name buyers see; drop marketing prefixes like "WP" or "Go". | Laneflow | product.name |
| Category | Pick one category (and a subcategory if offered) from the searchable list. Required. Choose the closest existing option; you can’t type a new one. Writing this through the API: send option SLUGS, each as an array of one. product.categories is a separate display-name field and does not drive the picker. | Project management → ["project-management"] | product.attributes.category + .subcategory + .group (arrays of slugs) |
| Tagline | 3 to 100 characters. This is the search/SEO line, so lead with the words a buyer would actually search, not a clever slogan. | Client retainer tracking for agencies | story.subheader |
| Secondary tagline | Up to 140 characters, but keep it to a short buy-now call to action of about 5 to 8 words. It sits in the floating buy-now bar. | Track every retainer in real time | story.buy_now_bar_copy |
| Unique selling proposition | 30 to 255 characters. The one-line reason this beats the obvious alternative. This drives the hero headline. | Most project tools track tasks. Laneflow tracks the money behind them, so every task rolls up to a retainer and you always know what’s left. | story.value_prop |
| TL;DR | Exactly 2 bullets, each up to 128 characters, verb-led and concrete. | See remaining retainer hours the moment you log time
Send a branded client portal link in one click | story.highlights[].highlight |
| Alternative to | Up to 3 well-known products buyers already understand. Pick from the list. Writing this through the API: send each option’s slug, not its display name. An unrecognised value is accepted and then dropped when the listing is approved. | ["asana", "harvest", "mondaycom"] | product.attributes.alternative_to |
| Integrations | Up to 5 tools it connects to, most-recognized first. Pick from the list. Slugs, not display names, same rule as Alternative to. | ["slack", "stripe", "google-calendar", "quickbooks"] | product.attributes.integrations |
| Best for | Up to 3 buyer types. Pick from the list. Slugs, not display names, same rule as Alternative to. | ["freelancers", "small-agencies"] | product.attributes.best_for |
**Best practices**
- Lead with the outcome, not the category ("Track every client retainer in one place", not "A project management tool").
- The tagline is doing SEO work: put the term a buyer would search for at the front.
- Specific beats impressive: "syncs invoices to Stripe in one click" outperforms "seamless financial management".
## 2. Media (shot list)
Every image slot, with exact specs. Make these rather than asking the partner for them. One rule outranks the rest: every image must be an accurate representation of the real product. Show real UI, whether you captured it from the running product or rebuilt it faithfully from the product’s own code, site, or design system. Never show a screen the product cannot actually produce, and never imply a capability it doesn’t have. Beyond that: clean product UI on a plain background, no device frames, no heavy text overlays.
| Field | Spec | Example | Writes to |
| --- | --- | --- | --- |
| Company icon | PNG or JPG under 5MB, shortest side at least 50px — 512×512 recommended. Any shape works — we pad it to a square for you. The logo mark only, without the company name. | | assets.logos.logo |
| Hero image | At least 960×540, under 5MB — we auto-fit it to 16:9 at 1920×1080. The single screen that best shows what the product does, and the image worth the most care: the real interface, framed on a plain background, showing realistic data rather than an empty state. Needs alt text (up to 255 chars). | | assets.main_image |
| Product screenshots | Up to 4 images (aim for the full 4, which is what approval expects), same at-least-960×540 spec as the hero and auto-fit the same way. One per feature story, in the same order, each showing the screen that story is actually about. Each needs alt text (up to 255 chars). | | assets.additional_images |
**Best practices**
- Build the gallery from your Highlighted features: one image per story, same order, each showing the screen that story describes.
- Fill every screen with realistic data. Empty states, lorem ipsum, and "Test User 1" read as a product nobody uses.
- Write each alt text as a short noun phrase of about 4 words ("Retainer dashboard"), which doubles as accessibility text.
- Getting an image onto the listing: upload_image takes a public image URL and the server fetches it, so an image that only exists on your own disk can’t go up that way. Save those as files named for the slot they fill (hero.png, feature-1.png), tell the partner where they are, and ask them to upload them in the editor’s Media section.
- Show the partner every image before you submit, and say how you made each one. They know the product better than you do and will catch a screen that misrepresents it.
## 3. Highlighted features
2 to 4 feature stories, each paired with one gallery screenshot. Lead with the outcome; mention the mechanism second. Required, and it carries most of the PDP body.
| Field | Spec | Example | Writes to |
| --- | --- | --- | --- |
| Section header | Up to 255 characters. The heading above the stories (e.g. "Why teams choose Laneflow"). | Everything your retainers need, in one place | story.features.title |
| Title (per story) | Up to 255 characters. A benefit, not a feature name ("Know what’s left on every retainer", not "Dashboard"). | Know what’s left on every retainer, instantly | story.features.items[].title |
| Bullets (per story) | 2 to 5 per story, each up to 500 characters. Bold the lead-in verb phrase, no trailing period. | **Log time** and the retainer bar updates in real time | story.features.items[].bullets |
| Story image | Required — one per story, and it comes from the Media gallery, so build the two together. Story 1 pairs with gallery image 1 and so on: the order is the pairing. | Dashboard showing a retainer at 40% remaining | story.features.items[].image_url |
## 4. Pricing
The section most likely to slow approval, and the one with the most decisions. Walk the partner through it in three steps: pick a pricing model, set the tiers and prices, then write the feature rows so a buyer instantly sees what changes between tiers.
### Step 1: choose a pricing model, Codes or Licensing
| | Codes | Licensing |
| --- | --- | --- |
| How it works | Buyer stacks multiple codes to unlock more. 1 code is the base; each extra code raises a limit. | Buyer picks one named tier (e.g. Solo, Studio, Agency) at a set one-time price. |
| Best when | Value scales along one clear number: seats, projects, contacts, sites. More of the same. | Higher tiers unlock different capabilities, not just more volume (API access, white-label, SSO). |
| In the editor | Pricing model "Codes": one code price and an optional original (crossed-out) price, plus optional stacking with a max code count of 1 to 10. | Pricing model "Licensing": 1 to 10 named tiers side by side with a feature matrix. |
| Avoid when | Tiers differ by features, not quantity. Stacking can’t express that. | The only difference is a single number going up. A matrix would feel padded. |
_Quick test: if you can finish the sentence "each code gives you ___ more ___", use Codes. If upgrades unlock different things, use Licensing._
### Step 2: set the tiers and prices
| Field | Spec | Example | Writes to |
| --- | --- | --- | --- |
| Tier name | Up to 200 characters. 1 to 10 tiers. | Solo, Studio, Agency | plans[].public_name |
| Price | One-time price, $1 to $9,999. Aim for an entry tier at $49 or less. | $49, $99, $199 | plans[].price |
| Original price | Optional. The comparative price shown crossed out beside the deal price. Must be greater than the price. | $588 | plans[].original_price |
| Mark as Recommended | Optional. Flags one tier as the suggested pick (only when you have more than one tier). | | |
### Step 3: write features that make the difference obvious
This is where most partners get vague. Write the value that changes across tiers, not a checkmark. Give the partner 4 to 15 feature rows (label up to 128 characters) and fill the per-tier value for each. Mark a row "in all plans" when it doesn’t change.
| Feature (label) | Solo $49 | Studio $99 | Agency $199 |
| --- | --- | --- | --- |
| Team seats | 1 | 3 | 10 |
| Active retainers | 5 | 25 | Unlimited |
| Client portals | Included | Included | Included + white-label |
| API access | — | — | Included |
**Guidance to give the partner as they write each row**
- Use concrete values, not checkmarks. "5 / 25 / Unlimited" tells a buyer more than three ticks. Reserve included/blank only for on-or-off capabilities.
- Every row should change across tiers. If a feature is identical in all tiers, mark it "in all plans" instead of spending a comparison row on it.
- Label by outcome, then value. "Active retainers: 5" beats "Retainer limit (tier-gated): 5".
- For Codes: each column is 1 code, 2 codes, 3 codes, and values are what one more code buys ("+5 seats per code"). Set the max code count (1 to 10) under stacking.
- Keep it to 4 to 15 rows. Pick the differences that drive an upgrade decision; drop the rest.
- Writing this through the API: each row is an entry in plans[].features[], and the label key is `feature`, not `name`. A row sent as {"name": ...} is rejected with "This field is required", which is the API telling you the key is wrong rather than the value.
**If the partner’s entry price is over $49**
- Explain the trade-off: staying above $49 is allowed, but a lower entry price improves acceptance odds and conversion.
- Ask which parts of the product are expensive to serve forever.
- Propose an entry price at $49 or less, scoped by volume limits, and let the partner decide.
- Rebalance the remaining tiers so each upgrade has one obvious reason.
## 5. Product story
The human behind the product. Honest and first-person; buyers back founders they trust. Optional section (founder story plus company facts).
| Field | Spec | Example | Writes to |
| --- | --- | --- | --- |
| Headline | Up to 64 characters. The founder-post title (e.g. "Why we built Laneflow"). | Why we built Laneflow | company.founder_posts[].title |
| Founder narrative | At least 2 first-person paragraphs (each up to 3000 characters): why I built this, who it’s for, where it’s going. Honest, no origin-story cliches. | I ran a five-person agency and lost thousands to retainers we quietly overran. I built Laneflow so the whole team could see the burn-down, not just me. | company.founder_posts[].message |
| Name | Up to 120 characters. The founder’s name. | Dana Ruiz | contacts[].name |
| Role | Optional, up to 120 characters. | Founder | contacts[].title |
| LinkedIn URL | Optional, up to 500 characters. A profile URL for trust. | | contacts[].linkedin_url |
| Founded | The company founding date (date picker). | 2022 | founders_data.founded_at |
| Headquarters | City picked from the searchable list. | Austin, TX | founders_data.headquarters |
| Team size | Pick one option. Options: Solo · 1-10 · 11-50 · 51-200 · 201-500 · 500+ | | founders_data.company_size |
| Stage | Pick one option. Options: Indie · Startup · Growth · Established · Enterprise | | founders_data.product_stage |
| Funding | Pick one option. Options: Bootstrapped · Pre-Seed · Seed · Series A · Series B · Series C+ · Acquired | | founders_data.financial_stage |
**Best practices**
- Ask the partner for the company facts; never invent a founding date, HQ, team size, stage, or funding.
- The company website is auto-filled from the scanned domain and locked, so there is nothing to write for it.
## 6. Trust signals (manual, no AI content)
Stripe ARR link, LinkedIn company page, G2 and Capterra URLs. These are verification, not copy: the partner pastes real URLs themselves. Agents, skip this section entirely. If asked, remind the partner where to find each link, but never generate or guess URLs.
## 7. FAQ
Question and answer pairs (at least 1, 6 to 8 recommended), answers under 2 sentences each. Each question is up to 255 characters; answers have no limit. Optional helpful links can go alongside.
| Field | Spec | Example | Writes to |
| --- | --- | --- | --- |
| FAQ question / answer | Question up to 255 characters; answer under 2 sentences. Cover what lifetime-deal buyers actually ask. | Q: Is this really lifetime access?
A: Yes. You pay once and keep every feature in your tier forever, including future updates to those features. | faqs[].question / faqs[].answer |
| Helpful link (optional) | Label up to 64 characters, URL up to 200 characters (must be http or https). For a help center, roadmap, or docs. | Help center, https://laneflow.com/help | |
**Best practices**
- What’s included forever versus what could become paid later.
- Data limits and what happens at the ceiling.
- Migration and export: can I get my data out.
- Refund window (AppSumo’s is 60 days) and support response time.
## Output format
Return the finished listing as one markdown document in exactly this shape: one ## block per section, every field labelled to match the editor. The partner pastes each field into the matching form field. Images can’t be pasted, so hand the files over alongside this document and list them under Media, naming which slot each one fills. The company website is auto-filled and Trust signals are verified in the editor, so neither appears here.
```
## Basic information
Product name: ...
Category: ... (closest option from the list)
Tagline: ...
Secondary tagline: ...
Unique selling proposition: ...
TL;DR:
- ...
- ...
Alternative to: ..., ..., ...
Integrations: ..., ..., ...
Best for: ..., ..., ...
## Media
(files handed over alongside this document, uploaded in the editor)
Hero image: [filename], showing [what it shows], alt: [~4 words]
Gallery 1: [filename], showing [what it shows], pairs with story 1, alt: [~4 words]
(repeat per story, same order as Highlighted features)
## Highlighted features
Section header: ...
### Story 1: [benefit title]
- **Verb** ...
- **Verb** ...
Screenshot to pair: [which shot]
(repeat per story, 2 to 4 total)
## Pricing
Pricing model: [Codes | Licensing]
Tier 1 "[name]": $[ideally 49 or less]
(repeat per tier, 1 to 10)
Feature matrix (label + per-tier value; only rows that change):
- [feature]: [tier 1] / [tier 2] / [tier 3]
- [feature]: [tier 1] / [tier 2] / [tier 3]
## Product story
Headline: ...
Founder narrative:
[2+ paragraphs]
Name: ...
Role: ...
Founded: ...
Headquarters: ...
Team size: [Solo | 1-10 | 11-50 | 51-200 | 201-500 | 500+]
Stage: [Indie | Startup | Growth | Established | Enterprise]
Funding: [Bootstrapped | Pre-Seed | Seed | Series A | Series B | Series C+ | Acquired]
## FAQ
Q: ...
A: ...
(6 to 8 pairs)
Helpful links: [label]: [https url]
```
---
Partners: after your assistant returns this, open your draft listing and paste each field into the matching section. The form flags anything that works against a recommendation (like an entry tier over $49) as you go.
AppSumo listing brief. This page is safe to share with any AI assistant; it contains no account data. Questions? Your partner manager can help.