A contact enrolls in your workflow
Sends the name, address, and message
A pen machine writes the card, real ballpoint
Stamped and mailed within two business days
Private beta. The HubSpot app is not in the marketplace yet, so connections are invite-only. Ask for access; once enabled, the Connect HubSpot button appears in your dashboard. Your HubSpot subscription must include contact-based workflows.
Four steps, about five minutes.
Connect your portal
Open HubSpot setup from Integrations in your dashboard and press Connect HubSpot. Approve the install in HubSpot and you land back on the dashboard, connected. There is no API key to create, copy, or paste - connecting is the whole credential step.
Connecting has to start from your dashboard, not from HubSpot. That is what proves the portal belongs to your Inkly account - a connection begun anywhere else cannot finish.
HubSpot private beta
Send cards from contact workflowsConnect once. No API key to copy.
Add credits
Cards are prepaid. In Credits on the dashboard, add credits before the first workflow run. Every card draws from the same account balance, whether it was sent from a workflow, the API, or the order form.
If the balance runs out mid-workflow, the action fails visibly with "Not enough Inkly credits" and no card is sent. Top up, then re-enroll.
Each portal starts with a 25-card and $125 daily safety limit. You can change either limit or pause sending from the dashboard. Usage resets at 00:00 UTC.
Account balance
$247.5050 cards available
Add the action to a contact workflow
In HubSpot, create or open a contact-based workflow, set your enrollment trigger, then add an action and pick Inkly › Send a handwritten card.
Deal-driven sends work today from a contact workflow: enroll contacts whose associated deal reaches Closed Won. That keeps the recipient - and their mailing address - unambiguous, which is exactly what a physical card needs.
Send a handwritten card
Choose Blank Ivory and write the message
HubSpot shows Target record first. Keep it on Enrolled contact: that is the person who gets the card. Its other options, such as a company or a meeting, have no person to address the card to, so the action fails with "Target record must be Enrolled contact".
Select Blank Ivory, the card available through HubSpot. Bea handwriting is applied automatically. Write the message once: it is the template every card uses. Names and mailing addresses come from the enrolled contact's standard properties automatically, with no recipient fields to map.
Click Message to open All data tokens, then choose Enrolled contact. Insert contact properties, including custom properties, wherever you want them in the message. HubSpot fills in each contact's values before Inkly writes the card.
The written card fits 5 lines in Bea, about 180 characters. Blank lines count as lines, and long lines wrap. The pen cannot write emoji or non-Latin characters. Inkly checks every card before charging: one that would not fit fails with "The message ... does not fit the card" and costs nothing. First name, last name, and a complete US address are required for the action to succeed.
Keep apartment, suite, or unit details in the contact's Street address, for example 400 Market St, Suite 9. Inkly reads them automatically.
Under When should the card arrive?, choose As soon as possible, Choose an arrival date for one calendar date, or Use a contact date property for a different date per contact. The matching date field appears only when needed. New actions default to ASAP if no option is selected. Existing actions keep their saved date until you choose an option.
An arrival date is a target, not a guaranteed mailbox date. Choose a real date from today through the next 365 days. Inkly schedules mailing five business days before the target when possible; otherwise the card mails as soon as possible.
Your settings. Their contact details.
Set the card, personalized message, and arrival option; Bea handwriting is automatic. Inkly reads the eight standard contact properties marked Automatic below at each execution. Map a date property only if you choose a contact-based arrival date. Apartment, suite, and unit details come from Street address automatically.
Scroll the table sideways to see every column.
| Action field | HubSpot property | Notes |
|---|---|---|
| Target record | Keep Enrolled contact | HubSpot asks which record the action runs on. The enrolled contact is the person who gets the card. Companies, meetings and other records have no recipient, so the action refuses them. |
| Card design | Select Blank Ivory | Blank Ivory is the only card available through HubSpot. |
| Handwriting style | Automatic: Bea | Every HubSpot card uses Bea. No font selection is needed. |
| Message | Type text and insert HubSpot tokens | Click Message, then All data tokens > Enrolled contact. HubSpot fills the tokens in; the written card fits 5 lines in Bea, about 180 characters. Blank lines count. No emoji. |
| When should the card arrive? | Choose an arrival option | As soon as possible, choose an arrival date, or use a contact date property. New actions default to ASAP if left blank. |
| Target arrival date | Choose a calendar date | Shown for Choose an arrival date. Required for that option; the same target is used for every contact. |
| Contact date property | Map a date property | Shown for Use a contact date property. Each contact must have a valid date. |
| Recipient first name | Automatic: First name | Required. |
| Recipient last name | Automatic: Last name | Required. |
| Recipient company | Automatic: Company name | Optional. |
| Street address | Automatic: Street address | Required. Include the apartment, suite, or unit in this property; Inkly reads the complete value automatically. |
| City | Automatic: City | Required. |
| State | Automatic: State/Region | Required. Use a two-letter code or the full state name - we convert it. |
| ZIP code | Automatic: Postal code | Required. Five digits or ZIP+4. |
| Country | Automatic: Country | Blank defaults to US. We mail US addresses only for now. |
Most CRM contacts have no mailing address.
Email-first CRMs rarely carry a street address, and a card cannot be mailed without one. The action fails visibly if first name, last name, street address, city, state, or ZIP is missing, or if the address format fails our checks. A non-US country also fails. You will see the reason in the workflow's action history.
Filter at enrollment
Require First name, Last name, Street address, City, State/Region, and Postal code to be known, with Country set to US or left blank. This keeps incomplete records out; Inkly still checks the values when the action runs.
Or branch inside the workflow
Use an if/then branch on the same properties. Contacts with the required details reach the card action; everyone else takes a different path - an email, or a task to find the missing details.
We check required fields, state codes, ZIP format, and US country values. These are format checks, not postal delivery verification. An address that passes can still come back as undeliverable.
Six workflows that pay for themselves.
Deal stage becomes Closed Won
"Thanks for trusting us - excited to get started." Signed by the rep.
Send the note promptly after the signature, alongside your welcome email.
Enrollment: Contact-based workflow, enrolled when an associated deal reaches Closed Won
Renewal date is 30 days out
"Year one was good. Here is to the next." Choose a target date ahead of renewal.
The cheapest retention spend you will ever approve.
Enrollment: Date-based enrollment on a renewal date property
Meeting booked with a target account
"Looking forward to Thursday." Allow mailing time before the meeting.
Almost nobody does this. That is exactly why it works.
Enrollment: Enroll on meeting booked, filtered to a target-account list
Lifecycle stage becomes Customer
A welcome note from the founder, in the founder’s chosen hand.
The strongest moment to be memorable is the week they start paying you.
Enrollment: Enroll when lifecycle stage is Customer
NPS or survey score of 9 or 10
A thank-you - and, if you like, a referral ask.
You are rewarding exactly the people most likely to refer.
Enrollment: Enroll on the survey property, filtered to promoters
A contact goes quiet for 90 days
"Been a while - still here if you need us."
A card cuts through where the fourth follow-up email did not.
Enrollment: Enroll on last activity date older than 90 days
Before you wire it up.
- Can a contact get two cards by mistake?
- Not from a retry. Every workflow execution is recorded. A retry with the same card and recipient data replays the original answer; changed data for the same execution fails instead of sending another card. Re-enrolling a contact is a new execution and deliberately sends a new card; HubSpot keeps re-enrollment off unless you turn it on.
- What does a card cost?
- $4.95 each from your prepaid balance, with no minimum. The 50-card minimum on the order form does not apply to workflow sends.
- What if we run out of credits?
- The action fails with "Not enough Inkly credits" and nothing is mailed. It does not queue and it does not retry for days - a card arriving unexpectedly late is worse than a failed step you can see. Top up, then re-enroll the affected contacts.
- Can we send to contacts outside the US?
- Not yet. Non-US addresses fail the action with a clear message. Add Country is US to your enrollment criteria to keep them out.
- Which HubSpot plan do we need?
- A HubSpot subscription that includes contact-based workflows. This release is scoped to contact-based workflows, not deal- or company-based workflows.
- What happens if we disconnect?
- Sends stop immediately. Inkly asks HubSpot to uninstall the app and retries if HubSpot is temporarily unavailable; the encrypted cleanup credential is erased after uninstall completes. Cards already in production still get mailed.
- Can we trigger from a deal or company workflow?
- Not directly yet. Use a contact workflow with an associated-deal enrollment trigger - the card needs one unambiguous person and address, and deal properties do not carry those.
- How do we know it worked?
- The action returns the Inkly order id and scheduled mail date into the workflow, and every card shows up on your Inkly dashboard with its status. Your account balance stays in Inkly instead of being copied into HubSpot workflow history.
Wire up the first one.
Connect your portal from your dashboard, and we will set the first workflow up with you.