Not seeing Seller Assistant in your account? Register your interest here!
IMPORTANT: The Seller Assistant in Veeqo is powered by AI. It can make mistakes, so review its answers before you rely on them. Seller Assistant will always ask you to confirm any action that spends money or changes your orders, stock, or settings (like buying labels or editing orders) - those are yours to approve.
What is Seller Assistant in Veeqo?
Seller Assistant in Veeqo is Veeqo's own built-in AI agent. It lives inside the Veeqo product and lets you run your operations in plain language: ask questions about your data, pull and analyze information, and take real actions such as buying labels, creating batches, and drafting purchase orders. You can also use Seller Assistant to create mini-apps in Veeqo, letting you customize and enhance the Veeqo product with functionality designed by you. It is powered by the same Veeqo engine and the same 90+ tools that power the MCP Connector.
NOTE: Already have an AI agent you love? Check out our Veeqo MCP guide to learn how to get these tools enabled in Claude, ChatGPT, and more. Please note that you will not be able to use the build apps functionality via the MCP.
Before You Start
You'll get the most out of Seller Assistant in Veeqo when you're fully onboarded and ready to go. New to Veeqo? Check out this guide to get started in the US and this guide if you're in the UK.
Ready to try out Seller Assistant? Click on "Seller Assistant" in the top navigation bar!
How to Prompt Seller Assistant
Like all LLMs, getting the best results from Seller Assistant in Veeqo will depend on your prompt. The best prompts use simple language while making sure to include all the details.
NOTE: For top tips on prompting LLMs, as well as example prompts to use or get you started, check out our prompt library here.
What Tools Can Seller Assistant Access?
Seller Assistant in Veeqo has access to over 90 different read and write tools. Read tools are used to lookup and surface information, whilst write tools can make changes to the connected Veeqo account. All are single-resource operations with bounded inputs. Validation errors describe the rule that was broken and never echo the input back.
What Can Seller Assistant Read?
What Can Seller Assistant Read?
Category | Tool | What it does |
Orientation
| Get account capabilities | Permissions, plan, feature flags, and operational settings |
Orientation | Get user profile | Your name, email, role, time zone, and company identity |
Lookups | List channels | Sales channels with health signals and connection status |
Lookups | Get channel | Single channel details by ID |
Lookups | List warehouses | All fulfilment locations |
Lookups | List users | Team members with name, email, and role |
Lookups | Get team report | Per-person activity over a date range |
Lookups | List delivery methods | Shipping options configured in the account |
Lookups | List tags | All order and product tags |
Lookups | List suppliers | Suppliers set up in the account |
Orders | List orders | Search and filter orders by store, status, dates, tags, and more |
Orders | Get order details | Line items, allocations, tracking, and customer info |
Orders | Get order payment | Payment type, label, and reference number |
Orders | Get order returns | Return information for a specific item |
Inventory | List products | Products filtered by brand, channel, warehouse, tags, stock state |
Inventory | Get product | Full product details |
Inventory | List variants | Variants filtered by SKU, title, brand, stock range |
Inventory | Get variant | Dimensions, images, stock entries, and channel listings |
Inventory | Get stock entries | Stock by warehouse: allocated, available, physical, incoming |
Inventory | Get stock history | Audit trail of stock changes with deltas and causes |
Inventory | Get product tags | Tags currently applied to a product |
Purchasing | List purchase orders | POs filtered by state, supplier, warehouse, and dates |
Purchasing | Get purchase order details | One PO in full with line items |
Customers | Search customers | Search by name, email, or company |
Customers | Get customer details | Full customer record |
Shipping | Get shipping configs | Carrier accounts, connection status, and available services |
Shipping | Get shipping rates | Quotes for a new shipment |
Shipping | Get allocation rates | Live quotes for an existing order allocation |
Shipping | Get tracking events | Tracking timeline for a shipment |
Shipping | Get shipment | Shipment details: tracking, carrier, charges, cancellation state |
Shipping | Get shipment label | Label URL (PDF, PNG, JPEG, or ZPL) |
Shipping | List listings | Products as they appear on each channel |
Shipping | Summarize label costs | Total label spend by carrier, currency, and date range |
Reports | Get profit analysis | Sales, gross profit, fees, and per-channel breakdown |
Reports | Get product profitability | Margin, units sold, days of cover, and sales velocity |
Documents | List printing templates | Picking lists, packing slips, invoices, and label templates |
Documents | Get printing preferences | Saved print settings and label format |
Documents | Get print result | Print job status and document URLs |
Documents | Get picking group | Picking group status, assigned picker, and progress |
Batches | List batches | Batches filtered by state, location, and assignee |
Batches | Get batch | Batch stats: total, picked, packed, shipped, and cost |
Batches | Find orders by batch | Orders in a batch or unbatched orders |
What Can Seller Assistant Write?
What Can Seller Assistant Write?
Category | Tool | What it does |
Orders | Create order | Create direct, retail, POS, or custom orders |
Orders | Cancel order | Cancel an order |
Orders | Update shipping address | Change the deliver-to address on an order |
Orders | Merge orders | Combine 2 to 50 orders into one |
Orders | Unmerge orders | Split a merged order back into its originals |
Notes | Add order note | Add an internal staff-only note to an order |
Notes | Add customer note | Set the customer-visible note (printed on packing slips) |
Notes | Update line item note | Set picker instructions on a line item |
Inventory | Create product | Create a product with at least one variant |
Inventory | Update variant | Update title, SKU, price, cost, or reorder thresholds |
Inventory | Merge variants | Merge up to 50 variants into one parent |
Inventory | Update stock level | Set physical stock for one variant at one warehouse |
Inventory | Bulk update prices | Set price on up to 50 variants at once |
Tags | Create order tag | Create a tag in the order namespace |
Tags | Create product tag | Create a tag in the product namespace |
Tags | Update order tag | Rename or recolor an order tag |
Tags | Update product tag | Rename or recolor a product tag |
Tags | Delete order tag | Delete an order tag |
Tags | Delete product tag | Delete a product tag |
Tags | Bulk tag orders | Add or remove tags on up to 200 orders |
Tags | Bulk tag products | Add or remove tags on up to 200 products |
Tags | Set product tags | Set the complete tag list on one product |
Purchasing | Create purchase order | Create a draft PO with up to 50 line items |
Customers | Create customer | Create a customer with contact and address details |
Customers | Update customer | Update customer identity, contact, or address fields |
Allocations | Allocate order | Auto-allocate an order to the best warehouse |
Allocations | Allocate order lines | Allocate specific lines to a chosen warehouse |
Allocations | Deallocate allocation | Release reserved stock from an allocation |
Allocations | Update package | Set weight and dimensions on an allocation |
Allocations | Update ship date | Set the intended dispatch date |
Allocations | Set packed status | Mark an allocation as packed or unpacked |
Shipping | Buy shipping label | Buy a carrier label for one allocation |
Shipping | Buy labels in bulk | Buy labels for many allocations in one request |
Shipping | Get bulk result | Poll a bulk label purchase for status |
Shipping | Book shipment | Buy a Rate Shopping standalone label |
Shipping | Cancel shipment | Void a standalone shipment |
Shipping | Cancel allocation shipment | Void a label on an allocation |
Documents | Generate order document | Send picking lists, packing slips, invoices, or labels to print |
Documents | Generate pick list | Create a picking group and queue the pick list |
Documents | Generate product labels | Send product or barcode labels to print |
Documents | Generate transfer document | Send a stock transfer document to print |
Documents | Generate PO document | Send a purchase order document to print |
Picking | Create picking group | Send orders to digital picking |
Picking | Assign picker | Assign or change the picker on a picking group |
Batches | Create batch | Create a named batch with allocations |
Batches | Update batch | Rename a batch or change its assignee |
Batches | Archive batch | Archive a batch and remove from default views |
Batches | Add to batch | Add allocations to an existing batch |
Batches | Remove from batch | Remove allocations from a batch |
Making Mini-Apps with Seller Assistant
One of the most powerful features of Seller Assistant in Veeqo is the ability to create and save mini-apps within Veeqo to speed up your workflow. Whether you want to design a new way to filter orders, or create an app to expand Veeqo's functionality, building a mini-app can get you there!
To create an app:
To create an app:
Go to Seller Assistant in Veeqo via the top navigation bar.
Click on "New chat" in the top left of the screen or continue an existing conversation by clicking into the chat box.
Prompt Seller Assistant using your own prompt or one of the examples below.
Click "Save app". This is crucial if you want to access the app again.
If you want to add specific users to the app, or share with all users on the account, click "Share" and "Save". You can update this later.
Otherwise, go to "Apps" in the top left of the screen and try out your new mini-app!
To edit your apps:
To edit your apps:
Go to Seller Assistant in Veeqo.
Click on "Apps" in the top left of the screen.
Click on the three dots next to the "Open" option.
Choose whether to:
Edit in Operator (Seller Assistant): This will open a dual screen with your app on the right and Seller Assistant on the left. Edit and update your app in real time.
Edit details: Change the title and description of your mini-app here.
Share: Update who can and can't view this app.
Delete: Delete your mini-app permanently.
Make sure to save any changes if necessary.
Read below for examples of apps and the prompts we used to build them.
1. Compare Cheap vs Fast Rates
What does the app do?
Rate Compare Fast v. Cheap lines up three shipping-rate choices for each order (cheapest, fastest, and one day sooner than cheapest) with sortable columns, so you can weigh cost against speed at a glance. It can also flag a recommended option per order based on logic you set up. You tick the orders you want, then buy labels either per row or in bulk from your selection.
What does the app look like?
Prompt used to create the app (Click to view)
Prompt used to create the app (Click to view)
NAME: Rate Compare Fast v. Cheap Icon: shipping
PURPOSE: Let a seller compare three shipping-rate options side by side for each ready-to-ship order, see a recommended pick per order, and buy labels either one row at a time or in bulk from a selection.
DATA
Read ready-to-ship orders (status awaiting fulfilment), newest first, paged. For each order pull its customer, destination (city/state/country), sales channel, currency, due date, and its allocations (so you can tell which allocation has no shipment booked yet).
For each order's un-shipped allocation, fetch live shipping rates. Quote orders one at a time, not all at once, to stay within the rate budget.
Buying a label posts a shipment for the chosen rate on that allocation.
SHOW
A full-width table, one row per order: order number + channel, customer, destination, then three coloured rate columns — Cheapest, One day sooner, Fastest — plus a Recommended column, a Diff column (chosen option's price over cheapest), Due date, Est. delivery of the chosen option, a Buy control, and a details button.
Each rate cell shows service name, carrier, price, and estimated delivery; non-cheapest cells also show the uplift over cheapest. "One day sooner" is the cheapest rate arriving at least a full day earlier than the cheapest option.
Recommended is advisory and picks one of the three per order by a fixed rule (favour a modestly-priced faster option, otherwise cheapest). It defaults each row's buy choice but never locks it — the seller can override per row.
Per row: radio choice of which option to buy (recommended one flagged), a "Buy this label" button, and an eye icon opening a popup listing every rate for that order sorted cheapest-first.
Toolbar: search over loaded orders; select-all-shown (capped at 25); select-all / clear buttons. Filter bar: by recommended option, by carrier, by selection state, and a quotable-only toggle. Every column header is sortable, nulls last.
A buy bar showing count selected and combined cost per currency, with a bulk "Buy selected labels" button. Both bulk and per-row buys show an "are you sure?" confirm (real money, can't be undone), then a per-row status (buying / bought + tracking / failed). Cap of 25 labels per bulk buy. A "Load more orders" control pages further.
LIMITS
Read-only except the label purchases. Max 25 selected at once. Rates are re-checked at the moment of purchase, so a shown price can shift slightly.
2. Pack Station
What does the app do?
Pack Station turns the pack bench into a focused, distraction-free flow. It puts one ready-to-ship order front and center on a full screen, showing exactly what the packer needs: product images, the delivery address, and the pre-selected shipping rate. The packers can mark the shipment as packed, buy the label, and send the label to print, so orders move from bench to dispatch.. And because it's fully customizable, sellers can shape it around their own workflow, adding, removing, or rearranging whatever fits how their warehouse actually runs. This build is our take on that: a fast, clean, single-order packing station ready to make your own.
What does the app look like?
Prompt used to create the app (Click to view)
Prompt used to create the app (Click to view)
NAME: Pack Station
PURPOSE: A full-screen packing station that walks a packer through ready-to-ship orders one at a time, with the queue position remembered across refresh.
DATA: Orders with status awaiting fulfilment, oldest first (by created date), paged 20 at a time with a load-more-as-you-advance queue. For each order pull its first allocation's line items (quantity, product title, SKU, product thumbnail), the delivery address, and live shipping rates for that allocation. Auto-select the cheapest rate that meets the delivery promise; if none meet it, the cheapest available, flagged as a miss.
SHOW: One order per screen, never a list. Fixed regions, kept separate and in this order:
Top bar: order number + "Order X of N in the ready-to-ship list", with Previous / Next buttons.
A flags row: "Marked as packed" and "Label bought" indicators.
A two-column grid below that (single column on narrow screens):
Left: a product-image box (up to 4 images) above a line-item list (bold quantity ×, name, SKU under it).
Right: a "Ship to" address block, then a "Pre-selected shipping" rate card showing carrier, service, price, estimated delivery, and a promise-met / missed / unknown badge.
Below the grid: three equal-width action buttons — Mark as packed, Buy label, Print label.
DO:
Mark as packed — routine write, no confirm.
Buy label — real-money, must show an "are you sure?" confirm with carrier/service/price and a promise-miss warning before purchase.
Print label — sends the shipping-label template to the print queue, scoped to the allocation; only enabled after a label is bought.
Each action updates the current order in place; Next advances the queue.
LIMITS: One order visible at a time — do not consolidate the regions into a single block or render multiple orders together. Buy label confirms first. Print label stays disabled until a label exists. Only awaiting-fulfilment orders enter the queue.
3. Daily Batch Builder
What does the app do?
Daily Batch Builder turns the daily job of splitting ready-to-ship orders into pick batches into a one-screen, rule-driven flow. It shows the day's ready-to-ship orders grouped into proposed batches automatically, using logic the seller defines to suit how their warehouse runs, with headline counts of what's ready, what's already batched, and what's shipped up top. From there the operator just reviews the proposed batches, ticks the ones they want, assigns a picker, and creates them all in Veeqo in one click, instead of assembling each batch by hand. It takes the judgement call of how to break today's orders into sensible pick batches and does it in seconds, so the warehouse gets clean, right-sized batches and the operator spends their time picking, not planning.
What does the app look like?
Prompt used to create the app (Click to view)
Prompt used to create the app (Click to view)
NAME: Daily Batch Builder
PURPOSE: A single-screen daily workspace that pulls ready-to-ship orders, groups them into proposed pick batches by rule, and lets the operator select batches, assign a picker, and create them in Veeqo in bulk. One click replaces assembling each batch by hand.
DATA:
Read ready-to-ship orders from the orders list (GET /api/v2/orders): filter to status awaiting_fulfillment and batched = false. Page through all results (100 per page) until every page is loaded. Include allocations, allocation line items, and their sellables so each order carries its allocation IDs, line-item count, total unit quantity, and its distinct variants (SKU + title).
Read company users/employees (GET /employees) for the picker dropdown; a failure here only disables the dropdown, it must not break the app.
Three header counts, each a cheap count-only query (page size 1) reading the total from wherever the orders response actually provides it (check meta.page.total_count, meta.total_count, top-level total_count, and the X-Total-Count header, and use whichever is present): (1) ready-to-ship and not batched, (2) batched = true, (3) status shipped.
GROUPING LOGIC
Singles tab — single-line orders only (one line item, one variant). Bucket by variant. First emit full batches of 30 orders from each variant's own orders. Then pair up leftover variant groups so a batch holds at most 2 distinct variants and at most 30 orders total; if no partner fits, a variant's remainder becomes its own single-variant batch. Sort batches largest first.
Multis tab — multi-line orders (2+ line items). Pack orders first-fit-decreasing so the sum of line items per batch stays at or under 30. An order with more than 30 line items on its own gets its own batch, flagged as over the cap. Sort batches largest first.
Batch names: Singles <YYYY-MM-DD> #<n> and Multis <YYYY-MM-DD> #<n>.
Rebuild proposals from scratch on every load/refresh, and clear any stale selection when you do.
SHOW
Header card: title, and three KPI tiles — Ready to ship, In batches, Shipped — showing "-" until loaded, with an aria-busy state.
Two tabs, Singles and Multis, each with: a note line summarising how many batches from how many orders; a "Select all" checkbox with a live "N selected" count; a picker dropdown ("Leave unassigned" plus one option per employee); a "Create selected batches" button that stays disabled until at least one is selected and shows a live count in its label.
Batch tiles in a responsive grid (3 / 2 / 1 columns by width). Each tile: a select checkbox, the batch name, a state pill (Created / Not created) once acted on, a meta line (singles: order count, variant count, total items; multis: order count, line-item total, total items, plus an over-cap note if applicable), variant pills for singles, and an expandable list of the orders it contains with links to each order.
Per-tab and per-row error handling with retry; empty states when a tab has nothing to batch.
The two picker dropdowns stay in sync as one shared choice.
DO
Create batches (POST /api/v2/fulfilment_batches) for the selected, not-yet-created tiles only. Each batch sends its name, the collected allocation IDs from its orders, and the assignee ID if a picker is chosen. Show an "Are you sure?" confirmation first, naming how many batches and whether they'll be assigned or left unassigned. Dispatch in internal waves so no single burst is oversized, but create every selected tile. Mark each tile Created or failed individually, drop created tiles from the selectable set, toast the totals, and refresh the header counts after.
LIMITS
Read-only everywhere except the batch-create write; no other data is modified.
Single-warehouse rule: create one batch per proposal with all its allocation IDs and let Veeqo infer the location from the first allocation; if a proposal spans warehouses Veeqo rejects it, so surface that per row rather than pre-splitting.
Never show a cap or "we only did N" to the operator; every selected tile must be created.
STYLING (match these exactly)
Accent palette, defined as CSS variables at the top:
accent #406885, accent-strong #1E313E, accent-tint #AAC5D8, accent-soft #EAF1F6. Use the design-system tokens (op-surface, op-border, op-ink-muted, op-radius-md, op-size-base etc.) for everything else so it sits inside the standard card and spacing system.
Summary / KPI cards (the three header tiles):
Grid of 3, minmax(120px, 1fr) columns, gap of one base unit.
Each tile: 1px solid op-border, op-radius-md corners, padding one base unit, and a background of linear-gradient(180deg, var(--op-surface) 0%, var(--accent-soft) 140%).
A 4px accent bar down the left edge via a ::before (position absolute, left/top/bottom 0, width 4px, background accent).
Label: op-ink-muted, 0.72rem, uppercase, letter-spacing 0.06em, weight 600.
Value: 1.9rem, weight 700, accent-strong, line-height 1.1, font-variant-numeric: tabular-nums.
Variant pills (in the singles batch tiles):
display: inline-block, border-radius 999px, padding 3px 10px, font-size 0.78rem, weight 600.
Background accent-tint, text accent-strong, small right and bottom margins so they wrap cleanly.
State pills (Created / Not created / pending):
Same 999px rounded shape, 3px 10px, 0.78rem, weight 600.
Created uses the success tint/strong tokens, failed uses the danger tint/strong tokens, pending uses the info tint/strong tokens.
Batch tiles:
1px solid op-border, op-radius-md, padding one base unit, subtle 0 1px 2px rgba(30,49,62,.05) shadow, overflow-wrap: anywhere so long SKUs don't overflow.
Selected state (checkbox checked): accent-coloured border, a 0 0 0 2px var(--accent-tint) glow ring plus the base shadow, and a soft linear-gradient(180deg, accent-soft 0%, surface 60%) wash. Drive it off .batchItem:has(.batchCheck:checked).
Responsive grid: 3 columns default, 2 under 820px, 1 under 540px; full-width notes and empty messages span all columns.
Tabs:
Flex row, 2px bottom border on the strip, each tab a borderless button with a 3px transparent bottom border that turns accent when selected (aria-selected="true" → accent-strong text, accent underline). Hover tints the background accent-soft.
Card titles:
accent-strong, ~1.2rem, letter-spacing -0.01em. Spinners: 2px border ring with an accent top-colour, and respect prefers-reduced-motion (drop the animation).
4. Stock Cycle Counting App
What does the app do?
A cycle-count tool for a warehouse floor. Instead of working off a printed sheet, a member of staff opens it and walks the bins one at a time. The app shows one bin's items at a time on big, easy-to-read cards, they physically count what's on the shelf, and type each figure straight in. As they go, the app compares their count against what the system thinks is there and flags any gaps, so discrepancies surface on the spot rather than after the fact. When they're happy, they save the counted figures and the app writes the corrected stock levels back. In practice it's a guided count-and-reconcile walk designed to be usable on a phone or tablet in the aisle, keeping stock accurate without paper or a separate spreadsheet.
What does the app look like?
Prompt used to create the app (Click to view)
Prompt used to create the app (Click to view)
NAME: Stock Cycle Counting App
PURPOSE: A guided cycle-count tool for a warehouse floor. A staff member opens it on a phone or tablet in the aisle and walks the bins one at a time, entering physical counts and reconciling them against system stock, without paper or a spreadsheet.
DATA: Pull the stock for a single warehouse, organised by bin/shelf location. For each item show its product/variant name, SKU, bin location, and the current system stock level at that warehouse. Group items by bin so the walk goes location by location.
SHOW:
One bin at a time, not the whole warehouse at once. The staff member advances through bins in sequence.
Within a bin, one card per item, laid out for reading at arm's length on the floor: large product name and SKU, large text, generous spacing, big touch targets.
A number input per item for the physical count, with large plus/minus buttons as well as direct entry so it's usable one-handed.
As a count is entered, show the difference between the counted figure and the system figure (e.g. "System 40, counted 37, short 3"), with the gap visually flagged (colour/label) so discrepancies stand out on the spot.
Progress through the walk (which bin you're on, how many left).
A summary/reconcile view before saving, listing every item where the count differs from system stock.
DO: A save action that writes the counted figures back as the corrected stock levels for that warehouse. Confirm before writing, and show which items will change and by how much. Only write the items that were actually counted and differ.
LIMITS:
Mobile/tablet-first: large fonts, high contrast, big buttons, minimal chrome, readable in a warehouse aisle.
Remember progress across a refresh or reopen so a half-finished walk resumes where the staff member left off, without caching a stale copy of stock data.
One warehouse per session.
Frequently Asked Questions (Click to view)
Frequently Asked Questions (Click to view)
How is it different from connecting Veeqo to ChatGPT or Claude?
It is the same engine with a different experience. The MCP Connector runs inside ChatGPT or Claude and relies on that assistant's general-purpose interface. Seller Assistant in Veeqo is built directly into Veeqo and is tuned specifically for operations, so it already knows it is working inside Veeqo. It adds a purpose-built experience on top of the tools, including an approval card on every change, structured inline results, and the ability to save your work as reusable Apps.
Does Seller Assistant in Veeqo cost anything?
Today, Seller Assistant in Veeqo is free to use. In the future, it may be included as part of a paid plan. If that changes, we will provide advance notice before any payment is required, so you will have time to decide how you want to proceed.
Do I need a ChatGPT or Claude subscription?
No. Seller Assistant in Veeqo is built into Veeqo, so there is no separate AI subscription to buy and nothing external to connect. The MCP Connector is the option for sellers who prefer to use their own AI assistant instead.
Can it do something without me approving it?
No. Every action that changes data shows an approval card first, and nothing happens until you approve it. Each write is attributed to the person who approved it, so there is always a clear record of who authorized a change.
Can it see or change data I do not have access to?
No. Seller Assistant in Veeqo inherits the signed-in user's Veeqo permissions, so it can only do what that user can already do. Plan gating, financial data access, and label-buy permissions all carry over.
Can it accidentally buy labels or spend money?
No. Buying a label is a write action, so it always requires your confirmation first. You see exactly what will be purchased before anything is bought.
Is my data shared with other sellers or used to train AI?
No. Each user only ever accesses their own account through their own permissions, and there is no shared service account. Seller Assistant in Veeqo follows the standard data privacy policies already covered in our Terms and Conditions.
What tools are currently included?
The tools listed above are what is available today, but we are constantly adding more. You can ask your AI assistant or Seller Assistant for a refreshed list at any time, or ask directly whether a specific action is possible.
Can I save and reuse my work?
Yes. You can turn any conversation or result into a reusable App that reloads with fresh data each time you open it. Saved Apps live in your Apps library where they can be searched, renamed, edited, and shared with specific teammates or your whole company, with permissions kept intact.






