# Quick upload — where everything is

> Build Etsy listings in Eto and push them to one or more connected stores as drafts. Every feature on the page, with the exact path to reach it. 104 features. The page itself is at https://eto.tools/dashboard/single-research/.

Part of [Where everything is](https://eto.tools/dev/docs/where-everything-is.md) in the [Eto API reference](https://eto.tools/dev/docs/).

## Quick upload

- URL: https://eto.tools/dashboard/single-research/
- Anchor: https://eto.tools/dev/docs/#where-quick-upload
- Markdown: https://eto.tools/dev/docs/where/quick-upload.md
- Features: 104

Build Etsy listings in Eto and push them to one or more connected stores as drafts.

### Listing list

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| Active | Shows listings already pushed to Etsy, with a count badge, and they are view only. | `Quick upload > Active` (needs connected store) | - |
| Drafts | Shows listings saved in Eto but not sent to Etsy yet, with a count badge. | `Quick upload > Drafts` | - |
| Scheduled | Shows single listings and bulk groups queued to publish at a set time. | `Quick upload > Scheduled` | - |
| [New listing](https://eto.tools/dashboard/single-research/new/) | Opens the create screen where you pick how the listing starts. | `Quick upload > New listing` | - |
| Select all | Ticks every listing card in the open tab so bulk actions apply to them. | `Quick upload > Select all` | - |
| Publish selected (n) | Publishes the ticked drafts to Etsy one at a time and turns into a Stop button while it runs. | `Quick upload > Select all > Publish selected` (needs connected store) | `listing_create` |
| Delete selected (n) | Deletes every ticked listing from Eto in one call. | `Quick upload > Select all > Delete selected` | - |
| Columns | Sets how many listing cards sit in a row, from 2 up to 10. | `Quick upload > Columns` | - |
| Open on Etsy | Opens the published listing on Etsy in a new tab. | `Quick upload > Active > Open on Etsy` (needs published listing) | - |
| Copy | Duplicates the listing into a new draft and opens that draft. | `Quick upload > Copy` | - |
| Delete | Removes the listing from Eto without touching Etsy. | `Quick upload > Delete` | - |
| View group | Opens a modal listing every listing in a bulk group, marked Main or Variant, each with Open on Etsy and Delete. | `Quick upload > Active > View group` (needs bulk group) | - |
| Delete group | Deletes every listing that belongs to a bulk group in one go. | `Quick upload > Active > Delete group` (needs bulk group) | - |
| Cancel | Cancels a scheduled single listing and returns it to drafts. | `Quick upload > Scheduled > Cancel` (needs scheduled listing) | - |
| Cancel schedule | Cancels a scheduled bulk group before it publishes. | `Quick upload > Scheduled > Cancel schedule` (needs scheduled bulk group) | - |
| Bulk uploads in progress | Lists background bulk upload jobs with live progress, and failed jobs get a dismiss cross. | `Quick upload` (needs running bulk job) | - |
| Edit & retry | Appears on a card that failed during bulk publish and opens that listing in the workspace. | `Quick upload > Publish selected` | - |

### Creating a listing

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Enter Listing ID](https://eto.tools/dashboard/single-research/new/) | Pulls an existing Etsy listing by its numeric ID and pre-fills a new draft from it. | `Quick upload > New listing > Enter Listing ID > Continue` | - |
| [Digital Product](https://eto.tools/dashboard/single-research/new/) | Creates a blank digital draft that asks for downloadable files instead of shipping. | `Quick upload > New listing > Start from Scratch > Digital Product` | - |
| [Physical Product](https://eto.tools/dashboard/single-research/new/) | Creates a blank physical draft that asks for shipping and processing profiles. | `Quick upload > New listing > Start from Scratch > Physical Product` | - |
| [Upload spreadsheet](https://eto.tools/dashboard/single-research/csv-import/) | Starts the CSV or Excel import wizard for creating many listings at once. | `Quick upload > New listing > Upload via CSV / Excel > Upload spreadsheet` | - |
| [Format guide](https://eto.tools/dev/docs/#bulk-csv-import) | Opens the bulk CSV import section of the developer docs in a new tab. | `Quick upload > New listing > Upload via CSV / Excel > Format guide` | - |
| [Your Favorites](https://eto.tools/dashboard/single-research/new/) | Lists products you saved from Product Hunt so you can start a listing from one. | `Quick upload > New listing > Your Favorites` (needs saved favorite) | - |

### Workspace: About

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [About](https://eto.tools/dashboard/single-research/{listing_pk}/) | Tab holding the title, photos, description and personalization fields. | `Quick upload > open a listing > About` | - |
| [Title](https://eto.tools/dashboard/single-research/{listing_pk}/) | Free text listing title with a live 0/140 character counter. | `Quick upload > open a listing > About > Title` | - |
| [AI Magic](https://eto.tools/dashboard/single-research/{listing_pk}/) | Writes the title with AI, and clicking it again opens a Special requirements box you send with Enter. | `Quick upload > open a listing > About > Title > AI Magic` (needs AI provider configured) | `ai_generate_title` |
| [Undo AI title](https://eto.tools/dashboard/single-research/{listing_pk}/) | Puts the previous title back after an AI rewrite. | `Quick upload > open a listing > About > Title > Undo AI title` | - |
| [Photos & video](https://eto.tools/dashboard/single-research/{listing_pk}/) | Twelve slot media grid where slot 1 is the primary photo and slot 2 is an optional video under 15 seconds. | `Quick upload > open a listing > About > Photos & video` | - |
| [Add photo](https://eto.tools/dashboard/single-research/{listing_pk}/) | Opens the file picker for that slot, accepting JPG, PNG or GIF up to 100MB and up to 20 photos. | `Quick upload > open a listing > About > Photos & video > Add photo` | `file_upload` |
| [Add video](https://eto.tools/dashboard/single-research/{listing_pk}/) | Uploads one MP4 or MOV into the video slot. | `Quick upload > open a listing > About > Photos & video > Add video` | `file_upload` |
| [Add from Gallery](https://eto.tools/dashboard/single-research/{listing_pk}/) | Picks a saved Gallery image straight into an empty photo slot. | `Quick upload > open a listing > About > Photos & video > Add from Gallery` (needs saved gallery image) | - |
| [AI Image](https://eto.tools/dashboard/single-research/{listing_pk}/) | Hover button on a photo that opens the per image AI generator. | `Quick upload > open a listing > About > hover a photo > AI Image` (needs AI provider configured) | `ai_generate_image` |
| [Preset](https://eto.tools/dashboard/single-research/{listing_pk}/) | Chooses the AI image recipe: Custom, Thumbnail, Info or Showcase. | `Quick upload > open a listing > About > hover a photo > AI Image > Preset` | - |
| [Model](https://eto.tools/dashboard/single-research/{listing_pk}/) | Picks the image model between Gemini 3 Pro, Gemini 3.1 Flash and Gemini 2.5 Flash. | `Quick upload > open a listing > About > hover a photo > AI Image > Model` | - |
| [Use Product Image](https://eto.tools/dashboard/single-research/{listing_pk}/) | Switch that decides whether the AI works from your uploaded product photo or from the tile you clicked. | `Quick upload > open a listing > About > hover a photo > AI Image > Use Product Image` | - |
| [Gallery](https://eto.tools/dashboard/single-research/{listing_pk}/) | Hover button on a photo that swaps it for a saved Gallery image. | `Quick upload > open a listing > About > hover a photo > Gallery` (needs saved gallery image) | - |
| [Download image](https://eto.tools/dashboard/single-research/{listing_pk}/) | Item in the photo three dot menu that saves that image to your computer. | `Quick upload > open a listing > About > hover a photo > More > Download image` | - |
| [Set as product image](https://eto.tools/dashboard/single-research/{listing_pk}/) | Item in the photo three dot menu that promotes the image to the reference product image. | `Quick upload > open a listing > About > hover a photo > More > Set as product image` | - |
| [Undo AI edit](https://eto.tools/dashboard/single-research/{listing_pk}/) | Item in the photo three dot menu that steps back through AI edits of that photo. | `Quick upload > open a listing > About > hover a photo > More > Undo AI edit` (needs AI edit applied) | - |
| [Generate Slideshow Video](https://eto.tools/dashboard/single-research/{listing_pk}/) | Turns the listing photos into an MP4 slideshow and drops it into the video slot. | `Quick upload > open a listing > About > Generate Slideshow Video` (needs at least one photo) | - |
| [Slideshow settings](https://eto.tools/dashboard/single-research/{listing_pk}/) | Sets total video length, per image duration and which photos take part, with a Distribute equally shortcut. | `Quick upload > open a listing > About > Slideshow settings` | - |
| [Product Image](https://eto.tools/dashboard/single-research/{listing_pk}/) | Single square reference image the AI tools use as the source product. | `Quick upload > open a listing > About > Product Image` | - |
| [+ Add Custom Image](https://eto.tools/dashboard/single-research/{listing_pk}/) | Uploads an extra named image, such as a sizing chart, that AI prompts can refer to by name. | `Quick upload > open a listing > About > + Add Custom Image` | - |
| [Description](https://eto.tools/dashboard/single-research/{listing_pk}/) | Long form listing description with its own AI Magic button and undo. | `Quick upload > open a listing > About > Description` | `ai_generate_description` |
| [Add new field](https://eto.tools/dashboard/single-research/{listing_pk}/) | Adds a personalization field of type Text box, List of options, File upload or File upload (labeled), up to five. | `Quick upload > open a listing > About > Personalization > Add new field` | - |
| [Digital files](https://eto.tools/dashboard/single-research/{listing_pk}/) | Drag and drop area for up to five downloadable files, 100MB each, on digital listings only. | `Quick upload > open a digital listing > About > Digital files` (needs digital listing) | `file_upload` |

### Workspace: Price & Inventory

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Price & Inventory](https://eto.tools/dashboard/single-research/{listing_pk}/) | Tab holding price, quantity, SKU and the variations editor. | `Quick upload > open a listing > Price & Inventory` | - |
| [Price](https://eto.tools/dashboard/single-research/{listing_pk}/) | One price box per selected store, published in that store currency. | `Quick upload > open a listing > Price & Inventory > Price` (needs connected store) | - |
| [Shop discount](https://eto.tools/dashboard/single-research/{listing_pk}/) | Percentage that back calculates the listed price so buyers see the price you typed. | `Quick upload > open a listing > Price & Inventory > Shop discount` | - |
| [Quantity](https://eto.tools/dashboard/single-research/{listing_pk}/) | Stock number for the listing, between 1 and 999. | `Quick upload > open a listing > Price & Inventory > Quantity` | - |
| [SKU](https://eto.tools/dashboard/single-research/{listing_pk}/) | Internal identifier where the first 32 characters go to Etsy and the full string stays in Eto. | `Quick upload > open a listing > Price & Inventory > SKU` | - |
| [+ Add Variation](https://eto.tools/dashboard/single-research/{listing_pk}/) | Creates a variation such as Colour or Size, up to the Etsy maximum of two. | `Quick upload > open a listing > Price & Inventory > + Add Variation` | - |
| [Prices vary for each](https://eto.tools/dashboard/single-research/{listing_pk}/) | Switch that turns on a separate price per option combination. | `Quick upload > open a listing > Price & Inventory > Variations > Prices vary for each` (needs variations) | - |
| [Quantities vary for each](https://eto.tools/dashboard/single-research/{listing_pk}/) | Switch that turns on a separate stock count per option combination. | `Quick upload > open a listing > Price & Inventory > Variations > Quantities vary for each` (needs variations) | - |
| [SKUs vary for each](https://eto.tools/dashboard/single-research/{listing_pk}/) | Switch that turns on a separate SKU per option combination. | `Quick upload > open a listing > Price & Inventory > Variations > SKUs vary for each` (needs variations) | - |
| [Processing profiles vary for each](https://eto.tools/dashboard/single-research/{listing_pk}/) | Switch that lets each option combination use its own processing profile. | `Quick upload > open a listing > Price & Inventory > Variations > Processing profiles vary for each` (needs variations) | - |
| [Photos vary for each](https://eto.tools/dashboard/single-research/{listing_pk}/) | Switch that links a listing photo to each option value. | `Quick upload > open a listing > Price & Inventory > Variations > Photos vary for each` (needs variations) | - |
| [Generate SKUs](https://eto.tools/dashboard/single-research/{listing_pk}/) | Describes your SKU format in plain text and lets AI fill every variation SKU, with an option to preserve hand written ones. | `Quick upload > open a listing > Price & Inventory > Variations > SKU Generator > Generate SKUs` (needs AI provider configured) | - |
| [Swap variation order](https://eto.tools/dashboard/single-research/{listing_pk}/) | Flips which variation is first and which is second. | `Quick upload > open a listing > Price & Inventory > Variations > Swap variation order` (needs two variations) | - |
| [Back to single price](https://eto.tools/dashboard/single-research/{listing_pk}/) | Drops the variations and returns the listing to one price and quantity. | `Quick upload > open a listing > Price & Inventory > Variations > Back to single price` (needs variations) | - |

### Workspace: Details

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Details](https://eto.tools/dashboard/single-research/{listing_pk}/) | Tab holding category, category attributes, who and when made, tags and materials. | `Quick upload > open a listing > Details` | - |
| [Category](https://eto.tools/dashboard/single-research/{listing_pk}/) | Opens a searchable Etsy category tree and sets the listing taxonomy. | `Quick upload > open a listing > Details > Category` | `categories` |
| [Category attributes](https://eto.tools/dashboard/single-research/{listing_pk}/) | Shows the extra fields Etsy requires for the chosen category. | `Quick upload > open a listing > Details > Category attributes` (needs category selected) | `category_properties` |
| [When was it made?](https://eto.tools/dashboard/single-research/{listing_pk}/) | Sets the Etsy production era, from Made To Order through to vintage decades. | `Quick upload > open a listing > Details > When was it made?` | - |
| [Tags](https://eto.tools/dashboard/single-research/{listing_pk}/) | Adds up to 13 search tags of 20 characters each, comma separated. | `Quick upload > open a listing > Details > Tags` | - |
| [Materials](https://eto.tools/dashboard/single-research/{listing_pk}/) | Lists the materials the product is made from. | `Quick upload > open a listing > Details > Materials` | - |

### Workspace: Settings sidebar

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Stores](https://eto.tools/dashboard/single-research/{listing_pk}/) | Ticks which connected stores the listing publishes to, and locked rows link to Upgrade Now. | `Quick upload > open a listing > Settings > Stores` (needs connected store) | `stores_list` |
| [Shipping profile](https://eto.tools/dashboard/single-research/{listing_pk}/) | Picks a shipping profile per store, required for physical listings. | `Quick upload > open a listing > Settings > Shipping profile` (needs physical listing) | `shipping_profiles_live` |
| [Processing profile](https://eto.tools/dashboard/single-research/{listing_pk}/) | Picks a readiness profile per store, and Create processing profile makes a new one from a type and processing time. | `Quick upload > open a listing > Settings > Processing profile` (needs physical listing) | `processing_profiles_live` |
| [Return policy](https://eto.tools/dashboard/single-research/{listing_pk}/) | Picks a return policy per store, with a Refresh button after you add one on Etsy. | `Quick upload > open a listing > Settings > Return policy` (needs connected store) | `return_policies_live` |
| [Shop section](https://eto.tools/dashboard/single-research/{listing_pk}/) | Picks the shop section per store, and the Create box adds a new section to that shop. | `Quick upload > open a listing > Settings > Shop section` (needs connected store) | `shop_sections_live` |
| [Production partners](https://eto.tools/dashboard/single-research/{listing_pk}/) | Selects the Etsy production partners for each store. | `Quick upload > open a listing > Settings > Production partners` (needs connected store) | - |

### Workspace: publish, schedule and status

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Publish draft](https://eto.tools/dashboard/single-research/{listing_pk}/) | Creates the listing as a draft in each selected store and uploads its media and files. | `Quick upload > open a listing > Publish draft` (needs connected store) | `listing_create` |
| [Missing](https://eto.tools/dashboard/single-research/{listing_pk}/) | Bar at the top of the tabs naming the first requirement still blocking publish. | `Quick upload > open a listing` | - |
| [Schedule 1 listing](https://eto.tools/dashboard/single-research/{listing_pk}/) | Opens a date, time and timezone picker and queues this one listing to publish later. | `Quick upload > open a listing > Schedule > Schedule 1 listing` (needs connected store) | - |
| [Schedule bulk group](https://eto.tools/dashboard/single-research/{listing_pk}/) | Queues the whole generated bulk group to publish at a chosen date and time. | `Quick upload > open a listing > Schedule > Schedule bulk group` (needs bulk group built) | - |
| [AI provider badge](https://eto.tools/dashboard/single-research/{listing_pk}/) | Shows which AI credentials are in use and tests the connection when clicked. | `Quick upload > open a listing > AI provider badge` | - |
| [AI Generations](https://eto.tools/dashboard/single-research/{listing_pk}/) | Collapsible panel listing every AI image job running on this listing with its status. | `Quick upload > open a listing > AI Generations` (needs AI job running) | - |

### Bulk upload from one listing

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Bulk Upload](https://eto.tools/dashboard/single-research/{listing_pk}/) | Button beside Publish draft that turns one finished listing into several near copies, enabled only once the listing is ready to publish. | `Quick upload > open a listing > Bulk Upload` (needs listing ready to publish) | - |
| [Count](https://eto.tools/dashboard/single-research/{listing_pk}/) | Sets how many extra variants to generate, between 2 and 20. | `Quick upload > open a listing > Bulk Upload > Count` | - |
| [Image model](https://eto.tools/dashboard/single-research/{listing_pk}/) | Chooses the model that draws the variant thumbnails, including a Custom model ID option. | `Quick upload > open a listing > Bulk Upload > Image model` | - |
| [Custom image prompt](https://eto.tools/dashboard/single-research/{listing_pk}/) | Replaces the default thumbnail prompt for the whole batch. | `Quick upload > open a listing > Bulk Upload > Custom image prompt` | - |
| [Custom title prompt](https://eto.tools/dashboard/single-research/{listing_pk}/) | Replaces the default title prompt for the whole batch. | `Quick upload > open a listing > Bulk Upload > Custom title prompt` | - |
| [Continue](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Opens the Bulk Upload Preview page and starts generating the variant images and titles in parallel. | `Quick upload > open a listing > Bulk Upload > Continue` | `ai_generate_image` |
| [Bulk Upload Preview](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Shows the Main (your custom) card next to the generated variant rows, each marked Generating, Ready or Error. | `Quick upload > open a listing > Bulk Upload > Continue` | - |
| [Regenerate title](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Redraws one variant title inside the variant edit modal. | `Quick upload > open a listing > Bulk Upload > Continue > click a variant > Regenerate title` | `ai_generate_title` |
| [Regenerate image](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Redraws one variant thumbnail, optionally from a short prompt you type. | `Quick upload > open a listing > Bulk Upload > Continue > click a variant > Regenerate image` | `ai_generate_image` |
| [Variation Prices](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Edits the price of each variation for a variant listing, applied to every selected shop. | `Quick upload > open a listing > Bulk Upload > Continue > click a variant > Variation Prices` (needs variations) | - |
| [Upload all](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Creates every variant plus the main listing as drafts in the selected stores in one background job. | `Quick upload > open a listing > Bulk Upload > Continue > Upload all` (needs connected store) | `listing_create` |
| [Schedule bulk group](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Queues the whole generated group to publish at a chosen date, time and timezone. | `Quick upload > open a listing > Bulk Upload > Continue > Schedule bulk group` (needs connected store) | - |
| [Retry failed](https://eto.tools/dashboard/single-research/{listing_pk}/bulk-upload/) | Regenerates only the variants whose image or title failed. | `Quick upload > open a listing > Bulk Upload > Continue > Retry failed` (needs a failed variant) | - |
| Back to listings | Leaves the builder and returns to the Quick upload list while the job keeps running. | `Quick upload > open a listing > Bulk Upload > Continue > Back to listings` | - |

### CSV and Excel import

| Feature | What it does | Where | API |
| --- | --- | --- | --- |
| [Upload your spreadsheet](https://eto.tools/dashboard/single-research/csv-import/) | Step one of the wizard, where you drop a .csv, .xlsx or .xlsm file, including an Etsy bulk edit export. | `Quick upload > New listing > Upload spreadsheet` | - |
| [Download template](https://eto.tools/api/single-research/csv-import/template/) | Downloads eto_listing_import_template.csv with the canonical headers and two example rows. | `Quick upload > New listing > Upload spreadsheet > Download template` | - |
| [Just a couple of details](https://eto.tools/dashboard/single-research/csv-import/) | Step that only appears when the file left out a store, shipping profile, processing profile or return policy, and applies your choice to every missing row. | `Quick upload > New listing > Upload spreadsheet > Continue` | - |
| [Review & edit](https://eto.tools/dashboard/single-research/csv-import/) | Step three, showing every parsed listing with counts of ready, warnings and blocked rows sorted worst first. | `Quick upload > New listing > Upload spreadsheet > Continue > Continue` | - |
| [Table](https://eto.tools/dashboard/single-research/csv-import/) | Review view with an editable cell per field: title, type, category, price, quantity, SKU, tags, materials, who made, when made, shipping, processing, return, section and photos. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Table` | - |
| [Cards](https://eto.tools/dashboard/single-research/csv-import/) | Review view showing each listing as a thumbnail card with its status badge and reasons. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Cards` | - |
| [Choose category](https://eto.tools/dashboard/single-research/csv-import/) | Fix button on a blocked row that opens a searchable Etsy category picker. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Choose category` (needs row with a category error) | `categories` |
| [Photo cell](https://eto.tools/dashboard/single-research/csv-import/) | Steps through each photo URL on a row and lets you edit or add one inline. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Table` | - |
| [Save changes](https://eto.tools/dashboard/single-research/csv-import/) | Revalidates your edits on the server before the wizard will let you upload. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Save changes` (needs unsaved edits) | - |
| [Select all ready listings](https://eto.tools/dashboard/single-research/csv-import/) | Ticks every row that passed validation so only those get uploaded. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Select all ready listings` | - |
| [Upload n to draft](https://eto.tools/dashboard/single-research/csv-import/) | Runs the import, creating each selected row as a draft listing with a live progress bar and per row result. | `Quick upload > New listing > Upload spreadsheet > Review & edit > Upload n to draft` (needs connected store) | `listing_create` |
| Open Quick upload | Ends the wizard and returns to the listing list once the import has finished. | `Quick upload > New listing > Upload spreadsheet > Open Quick upload` | - |
