Guide

Zapier + Inkly:
set the trigger, we hold the pen.

Zapier connects Inkly to 7,000+ apps - your CRM, your store, your billing tool, your spreadsheets. The pattern is always the same: something happens in a tool you already use, and a real handwritten card goes in the mail with zero human effort. You set it up once, in about five minutes. This page walks through every step.

Your app

Deal closes, order ships, row lands

Zapier

Passes the name, address, and message

Inkly

A pen machine writes the card, real ballpoint

Mailbox

Stamped and mailed within two business days

Setup, once

Five minutes, six steps.

1

Create an API key

On your dashboard, under API keys & credits, name a key and press Create key. The key - it starts with inkly_sk_ - is shown once. Copy it somewhere safe; it is the only credential Zapier will ever ask you for.

Screenshot placeholder - dashboard key form with the one-time key reveal
Your new key appears once, right above the key table.
2

Accept the Inkly invite on Zapier

Inkly is in private beta on Zapier, so the app is invite-only. Open the invite and accept it - this adds Inkly to your Zapier account. Nothing else happens yet; you have simply unlocked the app.

Open Inkly on Zapier →

Screenshot placeholder - Zapier invite acceptance page
One click and "Inkly (1.0.0)" shows up in your Zapier app picker.
3

Pick your trigger

Create a new Zap and choose the event that should send a card: a deal stage in your CRM, a new order in your store, a paid invoice, a form fill, a spreadsheet row. Connect that app and run the trigger test so Zapier pulls in a sample record - the sample is what you will map fields from in step 5.

Screenshot placeholder - Zap editor with a trigger selected and tested
Any of Zapier's 7,000+ apps can be the trigger.
4

Add the "Send Card" action and connect

Add a step, search the app picker for Inkly, and choose the Send Card event. When Zapier asks you to connect an account, paste the API key from step 1. Zapier checks it instantly and labels the connection with your key's name and email.

Screenshot placeholder - Inkly account connection dialog asking for the API key
The key is the whole login. No passwords, no OAuth dance.
5

Write your message, map your fields

Pick a card design and a handwriting style from the dropdowns - both load live from our catalog. Write the message once; it is the template every card uses. Then click into each recipient field and pick the matching column or property from your trigger's sample data: first name, last name, street, city, state, ZIP.

To personalize the message itself, insert trigger fields directly into the message box with Zapier's field picker - for example "Hi [First Name], congrats on the new house." Don't type {{curly}} placeholders by hand; Zapier resolves its own syntax before we ever see the text.

Map something unique - a deal ID, order number, or row ID - into Deduplication Key. With it set, the same event can never mail the same card twice, no matter how many times Zapier retries - here's exactly how it works.

Sending for a birthday or a holiday? Put the date in Target Arrival Date and we hold the card, then mail it 5 business days ahead so it lands right around the day. Leave it empty and the card mails as soon as possible.

Screenshot placeholder - Send Card configure panel with fields mapped from the trigger
Mapping is a one-time setup. Every card after this is automatic.
6

Test, then publish

Run the action test. It sends a real card request: you get back an order ID, the cost (495 cents), and your remaining balance, and the order appears on your dashboard immediately. Happy with it? Publish the Zap. From this moment, every trigger event becomes a card - written with a real pen, stamped, and mailed within two business days.

Screenshot placeholder - successful test result showing order ID, cost, and balance
The test is real: a $4.95 card, queued for the pen machines.

The safety catch

The deduplication key, explained.

Automations occasionally fire twice. Zapier retries a request that times out, you replay an errored run after a top-up, a trigger re-delivers the same record. With email, a duplicate is an annoyance. With us it is $4.95 - and your contact opening two identical "handwritten" cards, which instantly tells them a machine holds the pen. So duplicates need to be impossible, not just unlikely.

The deduplication key is how. It is a unique label for the event that earned the card - the deal's ID, the order number, the row ID. The first send with a given key writes and mails the card. Every send with that same key afterward mails nothing: we find the original order, return it, and charge $0. Zapier shows it as "Was a Duplicate: true."

That is also why you map an ID and not a person's name: the same person should be allowed two cards for two different events - a closed deal in March, a renewal next year. One key, one event, one card. Ever.

Same key, sent twice

deal-8841 first send · card written & mailed -$4.95
deal-8841 retry · matched, nothing mailed $0.00
deal-9176 new deal · card written & mailed -$4.95

How billing works

Prepaid credits. No surprises.

Your account carries one credit balance, shared by every API key and Zapier connection. Each send draws one card - $4.95, postage included - from it. Top up from the dashboard in $50, $100, or $250 packs. Credits never expire.

If a Zap fires when the balance is empty, nothing is mailed and nothing is charged - the run shows an "insufficient credits" error in Zapier. Top up, replay the run from Zapier's history, and the card goes out. The deduplication key guarantees the replay can't double-send anything that already went.

One card, written and mailed$4.95

Credential Zapier needs1 API key

Setup time~5 minutes

Effort per card after setupNone

What customers automate

Eight Zaps worth stealing.

The common thread: the event and the address already live in a system you use. Without automation, sending a card means someone exports a list every week, forever - so it never happens. With a Zap it is configured once and runs forever.

TriggerDeal marked Closed Won in HubSpot, Salesforce, or Pipedrive

The card"Thanks for trusting us - excited to get started." Signed by the rep.

Lands three days after the signature, when every other vendor sent a templated email.

Deduplication key: Deal ID

TriggerDemo booked in Calendly with a high-value account

The card"Looking forward to Thursday." Arrives before the meeting.

Almost nobody does this. That is exactly why it works.

Deduplication key: Event ID

TriggerShopify order over $200, or a third repeat purchase

The card"You are one of our best customers - thank you."

Add a Zapier filter step so only the customers worth $5 of ink get one.

Deduplication key: Order number

TriggerFirst invoice paid in Stripe or QuickBooks

The cardA welcome note from the founder, in the founder’s chosen hand.

The strongest moment to be memorable is the week they start paying you.

Deduplication key: Invoice ID

TriggerNPS score of 9 or 10 in Typeform or Delighted

The cardA thank-you - and, if you like, a referral ask.

You are rewarding exactly the people most likely to refer.

Deduplication key: Response ID

TriggerClosing date hit in a real-estate or insurance CRM

The cardCongratulations to the buyer at their new address.

This industry already sends handwritten notes - this removes the assistant who writes them.

Deduplication key: Transaction ID

TriggerCandidate hired in Greenhouse or Ashby

The cardA welcome card at their home before day one.

First impressions start before the laptop ships.

Deduplication key: Candidate ID

TriggerA row added to a Google Sheet

The cardWhatever the row says - the manual escape hatch.

A rep drops a name and address in a row when they feel like it. The card just happens.

Deduplication key: Row ID

When something looks off

Troubleshooting, plainly.

The run errored with "insufficient credits."
Your account balance can't cover a $4.95 card. Nothing was mailed or charged. Top up on the dashboard, then replay the run from Zapier's Zap history - it picks up exactly where it left off.
The result says "Was a Duplicate: true" and cost 0.
Working as designed. A card with that deduplication key was already sent, so we returned the original order instead of mailing a second copy. You were not charged again.
The run errored with an address problem.
We validate every address before anything touches paper - state must be a 2-letter code, ZIP a real 5-digit (or ZIP+4) format. Fix the data in your source app and replay the run. Nothing is charged for rejected sends.
I typed {{first_name}} in the message and the card printed it literally.
Zapier resolves curly-brace syntax before we receive the text, so hand-typed placeholders pass through as-is. Personalize by inserting the trigger's fields with Zapier's field picker instead - same result, no syntax to remember.
My Zap is on but nothing has sent yet.
Most Zapier plans poll triggers every 5-15 minutes, so there is a short lag between the event and the send. Check the Zap history - every run, success or error, is listed there with the exact response from us.
How do I know a card actually went out?
Every send appears on your dashboard the moment it is placed, with its status: in the queue, being written, mailed. The order ID in Zapier's run history matches the order on the dashboard.

Ready to wire it up?

Create a key on your dashboard, accept the invite, and your first Zap is five minutes away.