How to Send Thank-You Cards From a CRM Export (2026)

Export your client list, pick a card, write one message, then paste the rows — every person on the list gets a personalized card in the mail. It takes about fifteen minutes for a hundred cards, costs $1.99 a card all-in including postage, and there is no integration to configure, no account to create, and no subscription — the whole point is that you already have the list, and the list is enough.
That last part is where this differs from most of the market. The other services in this category sell a connection to your CRM: an install, a field-mapping screen, a trigger to configure, and a monthly plan underneath it. That is a reasonable product if you are running always-on lifecycle mail. It is a lot of setup for "I closed eleven deals this quarter and I want to thank those clients."
What you need out of your CRM
One export. Almost every system does this from a list or report view, usually as Export → CSV.
Two columns matter:
- A name — first and last in one column or two, either is fine.
- A full mailing address — street, city, state and ZIP. It can live in one column or be split across five. Both work.
Those are the only two we read. Nothing else on the row is printed on a card.
Delete the other columns before you upload
A CRM row is not a mailing list — it is a customer record. It carries email addresses, phone numbers, lead sources, deal values, pipeline stages, and whatever your team typed into the notes field. Two reasons to strip it down to name and address first:
It keeps the file under the size limit. An upload is capped at 16,000 characters of text. Trimmed to name and address, that comfortably covers a batch of about 200 — which is also the size the app suggests if you do hit the cap. A thirty-column export of the same contacts is several times larger and gets rejected. The message you'll see talks about splitting into smaller batches, which is misleading when the real problem is that the file is wide rather than long: deleting columns usually fixes it in one go, with no splitting at all.
And it keeps data you don't need out of the pipeline. The text you submit is sent to the extraction model that reads it, and a copy is kept for 120 days in a debugging record before being deleted — that is written down on our privacy page and it applies to whatever is in the file, not just the two columns we use. The names and addresses have to go through; your commission numbers in column K do not. Delete them and they were never in it.
The walkthrough
Do the export first, then build the card, then bring the list in. That order matters: the app opens on the card picker, not on an upload box. The list is the second-to-last thing you touch, not the first.
Before you start · Export the list
From your CRM's contact or client list, filter to the people you want to thank — closed this quarter, ordered in the last 90 days, whatever the segment is — and export, then trim it to name and address.
The exports from Follow Up Boss, kvCORE, HubSpot, Salesforce, Pipedrive, Shopify, Square and QuickBooks all work, because they all produce an ordinary spreadsheet. So does a Google Sheet you keep by hand. ShipNote reads the file; it never connects to the system that produced it and never asks for a login to it.
Have that file open before you go any further — everything below takes a couple of minutes, and the export is the only part that happens in another tab.
1 · Pick a card
This is where the app starts. Choose a design, and if you want your own artwork or logo on the front, choose the blank card instead of one of the photo designs.
2 · Write the message once
Front, then back. You write the note a single time and it prints on every card, addressed to each recipient by name — you are not writing a hundred notes, and you are also not mailing a hundred cards that open with "Dear Valued Client."
Keep it to what fits a card. Two or three sentences reads better in print than a paragraph that has to be shrunk to fit.
3 · Bring your client list in
Now the export. Two ways in, and they are equivalent:
- Upload the CSV or Excel file directly.
- Paste the rows — select them in the spreadsheet, copy, paste.
There is no column-mapping screen. You are not asked which field is the ZIP code, and you do not have to tidy the layout — the messy cases are handled: a header row that isn't first, a "Full Address" column with everything crammed in, trailing blank rows, duplicated contacts. Width is the one thing worth fixing yourself, for the two reasons above.
4 · Fix what gets flagged
Every address is checked against USPS records. Anything that doesn't verify gets flagged for you to edit — a missing apartment number, a transposed ZIP, a PO box written in a way the post office won't accept.
This is the step that actually takes the time, and it is the step worth doing: a card mailed to a stale address is $1.99 and a client who thinks you forgot them. CRM address data is usually a few years stale on a meaningful slice of rows.
5 · Review and send
Check the batch and pay. Cards print and usually go into the mail the next business day. You do not need an account to do any of this — an order is reached afterwards by a private link, not a login.
Why there's no integration, and why that's the point
The honest version: an integration would be a worse product for this job.
A CRM integration earns its setup cost when mail needs to fire automatically and continuously — every closed deal triggers a card, forever. That is a real use case, and services like Simply Noted, Thanks.io and Handwrytten are built for it. They charge a monthly fee because they are running an always-on pipeline for you.
Thank-you cards from a client list are episodic. A quarter closes. A season ends. December arrives. You want to mail a specific set of people once, and then not think about it for three months. For that shape of work, the integration is pure overhead — you would configure a data connection, a field mapping and a trigger in order to do something once.
So the trade is deliberate:
| Integration-first services | Sending from an export | |
|---|---|---|
| Setup before card one | Connect account, map fields, configure trigger | None — export and paste |
| Ongoing cost | $49–$497 a month, depending on tier | None |
| Minimum | Often 100 cards, or a credit package | 1 card |
| Access to your CRM | API key or OAuth grant | None — you send a file |
| Best for | Always-on lifecycle mail | A batch you send when it's earned |
If you do want a card on every closed deal automatically, an integration service is the right buy and we'd tell you so. If you want to mail this quarter's clients this afternoon, the export in your downloads folder is already everything you need.
What it costs
$1.99 per card, all-in, on ten or more — printing, addressing, First-Class postage and mailing included. One to nine cards is $2.49 each. A hundred cards is $199, and there is no subscription underneath it and no minimum order.
For how that compares against the handwriting services and the per-card economics at 50, 100 and 250 cards, we priced every provider all-in here: How to Send Thank-You Cards to Clients: 2026 Cost Guide. If you're weighing specific vendors, we also priced Simply Noted alternatives and Handwrytten alternatives the same way.
A note on the second batch
Keep the export. It is the reusable asset here — not anything we store for you.
The next time you mail this segment, the work is re-running the same report in your CRM and pasting it again. That is a couple of minutes, because the hard part was never the upload; it was deciding who is on the list and cleaning the addresses that came back flagged. A saved export file, or a saved report view in your CRM, skips most of both.
Nothing in that flow depends on us holding your list between batches — your CRM stays the system of record for who your clients are.
Send a batch from your list
Bring the export you already have. See how it works, or start a batch — no account, no subscription, and the batch price applies automatically at ten cards.
CRM export thank-you card FAQ
Can I send thank-you cards from a CRM export?
Yes. Export your contacts as a CSV or Excel file, trim it to the name and mailing-address columns, and upload it — or select the rows and paste them. There is no column mapping step and no template to fill in: every name and address is pulled out and checked against USPS records before anything prints.
Do I need to connect ShipNote to my CRM?
No. There is no integration to install, no API key, and no login to your system. ShipNote reads the export file you already have permission to download, which is why it works the same with Follow Up Boss, HubSpot, Salesforce, kvCORE, Pipedrive, Shopify, Square, QuickBooks, or a spreadsheet you maintain yourself.
Which columns does my export actually need?
A name and a full mailing address. Street, city, state and ZIP can sit in one column or five — both work. Delete the other columns before you upload: an upload is capped at 16,000 characters, so a wide thirty-column export can be rejected where the same contacts trimmed to name and address fit easily — about 200 recipients at a time. Anything you do submit is sent to the extraction model and kept for 120 days in a debugging record before deletion.
How long does it take to send a hundred cards?
About fifteen minutes end to end for a hundred cards, most of it spent reviewing addresses that came back flagged. There is no onboarding call, no account setup, and no minimum order.
What does it cost to mail cards from a CRM list?
$1.99 per card all-in on ten or more, which includes printing, addressing, First-Class postage and mailing. A hundred cards is $199 total. There is no subscription and no per-seat fee.
Ready to mail your thank-yous?
First batch ships next business day. From $1.99 per card. No subscription.
Create Your Postcards


