Action reference
All Pigeon forms post to standard Craft controller actions. Include them with {{ actionInput('…') }} and a {{ csrfInput() }}, or call them over POST.
Guest (anonymous)
| Action | Params | Purpose |
pigeon/guest/start | email, name, subject, body, attachments[] | Start a support thread. |
pigeon/guest/reply | token, body, attachments[] | Reply via an emailed token. |
pigeon/guest/request-link | email | Re-email an expired link. |
Logged-in users
| Action | Params | Purpose |
pigeon/threads/start | type, subject, body, recipients | Start a support or direct thread. |
pigeon/threads/mark-read | threadId | Mark a thread read (supports JSON). |
pigeon/messages/reply | threadId, body, attachments[] | Reply to a thread you’re in. |
Staff (control panel)
| Action | Params | Purpose |
pigeon/admin/reply | threadId, body, isInternalNote, attachments[] | Reply or add an internal note. |
pigeon/admin/status | threadId, status | Change a thread’s status. |
pigeon/admin/assign | threadId, assigneeId | Assign (or unassign) a thread. |
All endpoints enforce the relevant permissions, CSRF, and (for guests) rate limiting.