Two-way messaging,
built into Craft.
Pigeon adds threaded conversations to your site — a customer-support inbox and private user-to-user messages, with email, control-panel, and on-site notifications in every direction.
Free — no license fee.
A real conversation, saved for both sides
A customer asks a question, your team is notified and replies, and the customer is notified back — the whole thread persists in the control panel.
Where is my order?
Support · [email protected]
Everything a conversation needs
A complete messaging layer — not just a contact form.
Support inbox
Visitors start a thread without an account — identified by email and a private, expiring link. Perfect for “ask customer service”.
User-to-user messages
Logged-in Craft users start private direct conversations with each other, with their own unread counts.
Notifications, all directions
A new message queues an email to the other party — staff get control-panel links, users get site links, guests get fresh token links.
Control-panel inbox
Threads are first-class Craft elements: a filterable, searchable inbox with status, assignee and last-activity columns, plus a dashboard widget and nav badge.
On-site unread counts
Show logged-in users their conversations and an unread badge anywhere with the craft.pigeon Twig variable.
Attachments
Allow file uploads on any message, stored as native Craft assets in a volume you choose, with size and type limits.
Internal notes
Staff can add private, in-thread notes that customers never see — keep context without a second tool.
Status & assignment
Open, pending, or closed — Pigeon flips status as the conversation moves, and you can assign threads to a specific staff member.
Secure by design
Guest links use signed, expiring tokens scoped to a single thread. Per-IP rate limiting and an optional honeypot keep spam out.
How it works
Three steps, in both directions, every time.
A message comes in
A customer submits the contact form (no account needed) or a user starts a thread. Pigeon creates a conversation and records the participants.
The right people are notified
Your team gets an email and a control-panel badge; the sender gets a private link. Everyone sees unread counts wherever you surface them.
You reply, they’re notified back
Staff respond from the control-panel inbox. The other party is emailed a link to the thread — which stays saved for both sides to revisit.
Frequently asked questions
A few common questions — see the full FAQ for more.
Nothing. Pigeon is a free Craft CMS 5 plugin — install it from the Plugin Store or with Composer at no charge.
No. Guests start a support thread with just their email and reply through a private, expiring link sent to them. Logged-in Craft users can also message each other directly.
Every new message fans out from one place: a queued email to the other party, a control-panel dashboard widget and nav badge for staff, and on-site unread counts for logged-in users via craft.pigeon.
Yes. Enable a destination asset volume in settings and visitors and staff can attach files, stored as native Craft assets with per-message size and type limits.
Guest links are signed, expiring tokens scoped to a single thread — a token only ever opens its own conversation. Guest forms are protected by per-IP rate limiting and an optional honeypot, and internal notes are never shown to customers.
Direct messages are between Craft users, so they require a Craft edition that allows multiple users (Team or Pro). The guest support inbox works on any edition. See the full FAQ for details.
Start the conversation
Add a support inbox and user messaging to your Craft site in minutes — completely free.