Free & open · Craft CMS 5

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.

Pigeon

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]

Pending
P
Hi — I ordered last week and haven’t received tracking yet. Can you help?
A
Hi Pat — your tracking number is 1Z999AA10. Sorry for the delay!
A
Internal note VIP customer — prioritized.
Write a reply…
Send

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.

1

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.

2

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.

3

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.