Pretty Product Options
← Merchant Guide

Selling

Staff on quotes

Record who raised each draft order, without hiding anyone's work.

Draft orders stay shared. Everybody in your shop sees every quote, which is the point — whoever answers the phone about a quote is rarely whoever built it, and a quote only one person can find is a quote that gets rebuilt from scratch.

What was missing was the name at the top. Three people quoting the same customer and no way to tell whose price it was.

Setting it up

Settings → Staff on quotes. Add each person with a name and a tag. The tag is the short, lowercase form that goes onto the Shopify order — type "Jane Patel" and it fills in jane-patel for you.

Then choose how a quote gets its name:

  • Off — nothing changes. Quotes go out anonymous, exactly as before.
  • Choose from the list each time — a Quote from dropdown on the builder.
  • Whoever is signed in to Shopify — no dropdown; the name comes from who is logged in.

Linking someone to their Shopify login

The Shopify user id column is what makes "whoever is signed in" work, and it is worth explaining why you have to fill it in by hand.

Shopify tells us which user is making a request, but not their name. Reading your staff list would need a restricted permission that has to be approved before you could use a dropdown, so we do not ask for it. Instead, each person puts their own id in once: open Settings while signed in as them and press This is me. After that their name appears on everything they raise, and nobody has to touch the dropdown again.

Someone whose id is not filled in still works normally — their quotes just go out without a name unless they pick themselves from the list.

What lands on the order

Both of these, and both survive into the paid order:

  • the tag staff:jane-patel, so you can filter your Shopify orders by staff: and see everyone's, or by one person to see theirs
  • a Staff attribute holding the readable name, because a tag is a slug and "staff:jane-patel" is not what you want to read on an invoice

Because they are on the order itself, they outlive this app. If you ever uninstall, the record of who sold what stays in Shopify.

When someone leaves

Untick Active rather than removing them. Their name stays on the quotes they already sent, and they disappear from the dropdown. Removing them entirely would leave those old quotes attributed to nobody.

The same applies to renaming: what a sent quote shows is the name as it was on the day it went out, not the current spelling. A quote is a document, and documents do not change their own history.

Through the API

Pass staff when you raise a draft order — the tag or the id:

POST /api/v1/draft-orders
{
  "items": [{ "product_config_id": "…", "selections": { … } }],
  "staff": "jane-patel"
}

A name we do not recognise is an error rather than an anonymous order, because a typo that quietly dropped the attribution would only be found weeks later by somebody trying to work out whose quote it was. The response echoes back what was actually recorded.

To read it back:

GET /api/v1/draft-orders
GET /api/v1/draft-orders?draft_order_id=gid://shopify/DraftOrder/123

Once a quote has been paid it becomes an order, and orders are not listed here. They do not need to be — the staff: tag and the Staff attribute are on the order itself, so Shopify's own API returns them.