Thermal Printers And Stream Labels

Turn purchases, donations, and chat events into physical receipts, stickers, tickets, or pickup tags.

Set it up in 6 steps

Before you start: this needs the Windows standalone app. Your printer must show up as a normal Windows printer. Social Stream prints through the Windows driver. It does not send raw ESC/POS, ZPL, or maker SDK commands.
  1. Plug the printer in by USB, turn it on, and install its Windows driver. Print a Windows test page to be sure it works.
  2. In Social Stream, open Global settings and tools → Mechanics - Connections & Integrations → Printer Control.
  3. Click Find printers. Pick your printer by the name Windows shows.
  4. Enter the Paper width (mm). It's usually 58, 80, or 62.
  5. Leave Fixed label length at 0 for receipt paper. For die-cut labels, enter the label's length in mm (the direction the paper feeds).
  6. Click Print test. If an edge is cut off, raise that side's safe margin and test again.

The default 2 mm left and right safe margins suit many cheap 58 mm receipt printers. The driver decides the real printable area, so keep Use printable area selected unless you've tested something else.

Print a label when someone donates

💰 Donation / TipMinimum Amount: 10
🖨️ Print Thermal Label{username}
{donation}

24 pt · bold · centred
  1. Open the Event Flow Editor and make a new flow.
  2. Add the Donation / Tip trigger. Set Minimum Amount if only bigger donations should print.
  3. Add Print Thermal Label (under Integrations) and connect the trigger to it.
  4. Type {username}, a new line, then {donation}. Pick the font size, weight, alignment, and copies.
  5. Leave the action's printer and fixed-length overrides blank or 0. Your Printer Control settings will be used.
  6. Click Test Flow. Enter a name, turn on Has Donation, add an amount, and run it. This prints a real label.

Other handy placeholders: {message}, {source}, {donationAmount}, and {counterValue}. Values made by earlier steps in the flow work too.

Print sales, gifts, and order numbers

I want to print…Do this
SalesUse Event Type with purchase. Donation / Tip needs hasDonation, so it misses most sales.
Completed giftsUse gift or giftfunded. Filter by provider if needed.
A running order numberAdd a Counter before the print action.

See the commerce event fields for what each sale includes.

Bold the buyer, keep the item normal

  1. Set Weight to Selected text.
  2. Enter this as the label text:
**{username}**
{subtitle}
  • Only text inside ** turns bold. No HTML or JavaScript needed.
  • Use single braces. Sales put the product name in {subtitle}. Quantity may be in {meta.commerce.quantity}.
  • If an earlier step makes buyer, use **{buyer}** instead.
  • Shopify and eBay don't send the buyer's name. Use an order counter or a product-only tag for those.
  • Labels already set to All bold or Normal keep their look.
For flow builders: print results and buyer numbers

The action adds meta.thermalPrintResult.success, plus an error or code when something fails, for later steps. Success means the job was sent to Windows, not that paper came out. Check the Windows print queue before retrying, or you may get duplicate labels.

A Counter numbers purchases, not unique buyers. Giving the same number to every purchase by one buyer needs a separate buyer-to-number list, reset at the start of each stream. User Memory's reason field is plain text, not a buyer-number counter.

Whatnot item labels

Download the Whatnot example flow. It prints the buyer in bold, the item name, and an order ID when there is one. If a payment fails, it prints a separate PAYMENT FAILED label with whatever details that notice includes.

  1. In the standalone app, set up Printer Control and run its test print.
  2. Open the Event Flow Editor, click Import, and pick the downloaded file.
  3. Select Whatnot: Item Labels + Payment Warnings. Check both print actions. They use your Printer Control printer and label length.
  4. Turn the flow on and save. It imports turned off.
  5. Keep your Whatnot source open with stream-event capture on.
A sale label doesn't mean it's paid. Each notice prints as it arrives. The flow doesn't wait for payment, fix an earlier label, or give out buyer numbers. Missing fields print blank. A failure notice with no buyer, item, or order details can't tell you which label it belongs to.
How the example flow works

It uses Event Type (Advanced) → Custom Event for product_sold and payment_failed, filtered to Whatnot. Bids and auction-ending notices don't print. See the Whatnot event fields.

Pick your paper

Receipt roll

For purchase slips, queue tickets, and receipts of any length. Leave fixed label length at 0.

Continuous sticker roll

For sticky name strips of any length. Works like receipt paper, but the printer or driver must do the cutting.

Die-cut labels

For matching badges and product labels. Set the exact fixed length, and pick the same stock in Windows Printing Preferences.

Example printers

PrinterGood forNotes
Generic “POS-58”Cheap 58 mm receiptsUsually USB. Names and drivers vary by seller. A basic POS-58 was used to test Social Stream.
Epson TM-T20IIIA sturdier receipt printerUSB. 80 mm paper, or 58 mm with the included adapter.
Brother QL-800Stickers and name labelsUSB. Up to 62 mm, die-cut or continuous, with an auto cutter.
Brother QL-820NWBA shared or networked label stationUSB, Ethernet, Wi-Fi, and Bluetooth.
Zebra ZD220Wider product, shipping, or wristband labelsUSB. About 25–112 mm media. Direct-thermal and thermal-transfer versions.

These are examples, not a tested list. Before buying, check the exact model has a current Windows driver, fits your label size, and shows up as a normal Windows printer.

Get fixed-size labels right

3 × 1 inch labels (including a Munbyn BT320): set width to 76.2 mm and fixed length to 25.4 mm when the 1-inch side feeds first. Pick the same stock and direction in Windows Printing Preferences. Start with 12–14 pt text.
RuleWhy
Measure in the feed directionA 62 × 29 mm label is usually 62 mm wide with a 29 mm fixed length.
Match Windows tooSet the same stock, direction, gap/mark sensing, and cutter in the driver's Printing Preferences.
Fixed means fixedNo extra feed is added. Text that's too tall may be cut off or spill over, depending on the driver.
Test your longest textLong names, product options, and extra lines need more room or smaller text.
Very short labels may not workSocial Stream asks for at least 20 mm. The driver may still limit short page sizes.

The test print's side borders show the safe width. Its height follows the test text. It doesn't outline the whole label.

Stream ideas

  • Supporter name stickers for a wall, prop, map, or progress board.
  • Merch, commission, drink, or pickup tags as orders come in.
  • Raffle tickets. Add rate limits and eligibility checks before the print step.
  • VIP badges, team picks, challenge tokens, or milestone labels.
  • A short to-do list for a producer sitting next to you.
Don't print private info. Skip addresses, emails, payment details, and private messages. Thermal paper also fades with heat, light, and time.

Fix problems

ProblemTry this
No printer shows upMake sure Windows can print a test page. Restart Social Stream and click Find printers again.
It says success, but nothing printsOpen the printer's Windows queue. Look for paused, offline, paper, driver, or port errors.
An edge is cut offKeep Use printable area on. Raise the safe margin on that side.
Too much blank paperUse fixed length 0 for receipts. Lower the bottom margin and extra feed. For labels, set the exact length.
One label prints as twoThe text is taller than the label, or Windows has the wrong stock size. Use less text, smaller font, tighter spacing, or smaller margins.
Test Flow uses the wrong printerPick a printer override on the Print Thermal Label step. When blank, testing in the editor uses the Windows default printer.