Process
Small campaigns run through the dashboard end-to-end. Larger operations plug the render engine into their existing fulfilment stack via the API, with output delivered straight to SFTP or S3.
Self-serve flow
For SMB campaigns or one-off runs. No integration — you upload, configure, and download PDFs. Print in-house or hand to a mailing house.
Just like mail merge — include variables to match your recipient data. Every letter is personalised with {{first_name}}, {{company}}, and more.
Select between fountain ink, classic black, or gel ink. Each type carries its own density, bleed, and texture characteristics.
Fine-tune baseline drift, kerning, ink bleed, and character variation. Dial in the exact level of human imperfection.
Upload a print-ready design to overlay handwritten letters onto. Your branding, logos, and layout stay intact — handwriting is layered on top.
Import a CSV of recipients. Map columns to personalisation fields — every letter is unique and addressed individually.
Overlay onto your PDF design or download standalone — ready to print in-house or send to your production partner.
Integrated / API flow
For mail houses, agencies, and print shops running production volume. You trigger renders programmatically; output arrives at your SFTP or S3. White-labelled — your customer never sees Inkli in the delivery path.
Assemble settings + layout template + design in a single POST. Returns a draft campaign id.
POST /api/partner/v1/campaignsBulk upload recipient rows. Delta merges + partial resubmits both supported.
POST /api/partner/v1/campaigns/:id/recipientsUnmetered 3-recipient render. Watermarked "PROOF — NOT FOR USE". Approve to fire the billed run.
POST /api/partner/v1/campaigns/:id/process
{ "proof": true }proof.ready webhook fires. Review the PDF; approve if it looks right. Fingerprint drift detection catches settings changes since the proof.
POST /api/partner/v1/campaigns/:id/approveThe billed render kicks off. Progress is pollable via /campaigns/:id/status or you can just wait for the webhook.
GET /api/partner/v1/campaigns/:idcampaign.completed webhook fires with output paths. PDF/X-4 lands at your SFTP or S3 delivery target — straight into the print floor.
Webhook: campaign.completedTalk to sales if you're integrating; sign up if you just want to try it.