Skip to main content

Native ticketing with two-way email, internal notes, and SLA in Pelcro

🔍 Problem Statement

As a client support team, I manage subscriber tickets in Pelcro but cannot send or receive customer emails, forcing me to run a separate Zendesk instance and pay for duplicate tooling.

💡 User Story

As a client support agent, I want to send and receive customer emails directly from a Pelcro ticket, so that all subscriber support happens in Pelcro without Zendesk.

As a client admin, I want to configure the sender identity (publisher brand or support team) per tenant, so that outbound email matches our customer-facing brand.

As a support agent, I want to write internal notes on a ticket that are not sent to the subscriber, so that I can record context and collaborate without exposing it to the customer.

As a support lead, I want SLA status shown on the ticket list view, so that I can see at a glance which tickets are at risk or breached.

🎯 Definition of Done (DoD)

✔ Given each tenant is provisioned a unique Pelcro inbound address (e.g. tenant-slug@in.pelcro.com) and the client forwards their support address to it, when a subscriber email is forwarded in, then SendGrid Inbound Parse POSTs the parsed message to a Pelcro webhook that creates or appends a ticket, routing to the correct tenant by the to-address.

✔ Given an inbound email is a reply to an existing thread, when it is received, then the ticket is matched by tokenized reply address (reply+<ticket-id>@in.pelcro.com) and In-Reply-To/References headers rather than opening a new ticket.

✔ Given an agent replies from a ticket, when they send, then an outbound email is delivered via SendGrid from the tenant's configured sender identity and logged on the ticket thread.

✔ Given an agent adds an internal note, when it is saved, then it is stored as a distinct resource type (not an email message), appears on the thread visually distinct from emails, and is never sent to the subscriber.

✔ Given an SLA policy is configured, when a ticket is open, then the ticket list view shows its SLA status (On Track / At Risk / Breached) based on time since last customer reply against the policy target.

Status: Available

Log in to comment and vote

No comments yet

Be the first to share your thoughts.