Resolve unsubscribe tickets without a MailForge login
Work every unsubscribe and unwanted email ticket from one screen, see exactly why an address stopped getting mail, and fix it without a marketing tool login.
Build me an app my support team opens to fix email subscription problems without ever logging into MailForge. It is a two pane working screen: a queue of relevant Zendesk tickets on the left, and the live MailForge state for that ticket's requester on the right. One person at a time, driven by an inbound support request.
Left pane, the ticket queue. Use the Zendesk Search Tickets operation with Zendesk query syntax to pull open and pending tickets about unsubscribes, unwanted email, and missing email (wording like unsubscribe, stop emails, remove me, too many emails, not receiving your emails, never got the email). Each row shows the ticket subject, its status, when it was last updated, and the requester's email address, which is the key to everything on the right. Resolve the requester to an email address using Zendesk Search Users, or Show User with the requester id on the ticket. Sort so the longest waiting tickets come first, and let me click a row to load it.
Right pane, the live MailForge state for that address. Three blocks. First, the contact record: call List Contacts with the email filter to get their name, status, and fields. If no contact exists for that address at all, say so plainly, because that changes the fix entirely. Second, list membership: call List Contact Lists to get every list in the organization with its subscriber counts, and cross reference against List Contacts filtered by list so I can see exactly which lists this person sits on. Third, suppression: call List Suppressions to check whether the address is on the suppression list and for what reason.
Put the suppression reason at the top of the right pane, large and impossible to miss, with a plain language explanation next to it, because a hard bounce needs a completely different answer than someone who clicked unsubscribe. A hard bounce means the mailbox rejected us and re-subscribing the same address will simply bounce again, so the customer needs to supply a working address. A spam complaint means they reported us and should generally stay suppressed. A manual unsubscribe means they chose to stop and can be re-subscribed if they are now asking to receive mail again. Shape the recommended fix around which of these it is, and never show the raw reason code on its own without that explanation.
From that same screen, let my agent take action on the address. Suppress it with Add Suppression so no future campaign reaches it. Lift a suppression with Remove Suppression when someone asks to start receiving mail again. Add them to a specific list with Add Contact to List, choosing which list from the ones already loaded. Subscribe a brand new address with Subscribe Contact when no contact record exists yet. Correct their name and other fields with Update Contact. Every one of these asks for confirmation first and shows exactly what is about to change.
Then close the loop on the ticket. After a change is applied, use Zendesk Update Ticket to post a reply and set the ticket status. Pre-fill the reply with the exact change that was just applied, written in plain customer facing language, and let me edit it before it sends. Support posting an internal note instead of a public reply when the change is not something the customer needs to read. Every applied change must end up written into the ticket one way or the other, so the ticket itself becomes the compliance trail.
Also keep an in-app log of every change applied through the app: the email address, what changed, which ticket it came from, who applied it, and when. The marketing ops owner occasionally audits what was changed, so give them a view they can scan and filter by date and by address, separate from the working queue.
Add a Read the thread button on each row that kicks off a background agent. The agent calls Zendesk List Ticket Comments to read the whole ticket conversation, checks the same MailForge state the right pane shows (List Contacts, List Contact Lists, List Suppressions), and decides whether this is a full unsubscribe, a single list opt out, or a deliverability complaint. It then writes back onto the row a recommended action, the reasoning behind it, and a draft reply. Its output lands on the row where the support agent can read it, edit it, and approve it.
Nothing is ever applied automatically. The embedded agent only recommends and drafts. A human clicks to apply every suppression, every lifted suppression, every list change, and every reply. Make that obvious in the interface so nobody assumes the agent already acted.
Who uses it: a support agent working the queue all day, and a marketing ops owner occasionally auditing what was changed. Design for the support agent first: the queue on the left and the answer on the right, with the suppression reason readable at a glance.
What does this prompt do?
- Puts your open Zendesk tickets about unsubscribes, unwanted email, and missing email into a single queue, with each requester's email address right on the row.
- Shows that address's live MailForge state beside the ticket: their contact record and status, every list they belong to, and whether they sit on the suppression list and for what reason.
- Leads with the suppression reason, because a hard bounce, a spam complaint, and someone who simply clicked unsubscribe each call for a completely different answer.
- Lets your team suppress an address, lift a suppression, add someone to a list, subscribe a brand new address, or correct their name and details, then reply and close the ticket with the exact change written into the reply.
- Adds a Read the thread button that sends a background assistant through the whole conversation to work out whether this is a full unsubscribe, a single list opt out, or a deliverability complaint, then writes a recommended fix and a draft reply onto the row for a person to approve.
What do I need to use this?
- A MailForge account, an API key from your MailForge settings, and the web address of your MailForge instance
- A Zendesk account plus the email you sign in with and an API token (your Zendesk administrator can create one)
- Support tickets in Zendesk where customers ask to stop receiving email, report unwanted email, or say your email never arrives
- Your MailForge contact lists already set up, so the app can show which ones a person actually belongs to
How can I customize it?
- Change the ticket search behind the queue so it matches how your customers and agents actually word these requests, or narrow it to one group, brand, or tag
- Rewrite the suggested reply for each situation, so a bounce, a spam complaint, and a plain unsubscribe each get your own house wording
- Choose whether an applied change is written back as a public reply to the customer or a private internal note, and which status the ticket moves to when you are done
FAQs
Does my support team need a MailForge login?
Will the assistant change anything on its own?
Why does the suppression reason matter so much?
Can I re-subscribe someone who asks to start receiving email again?
How do we prove what we changed if someone asks later?
Related templates
Twice a day we take anyone with a live high-priority support ticket off your campaign list, and put them back once support has fixed it.
Your support team types a customer's email address and instantly sees every message you sent them, why it failed, and how to fix it.
See every unsent draft and scheduled campaign in one place, run the pre-flight checks, and unlock Send only after a named reviewer signs off.
See how much of your monthly email allowance each campaign and contact list burned, which ones paid it back, and snapshot the period to a spreadsheet.
Open one board each morning to see which Zendesk tickets are turning hostile, why, and who has been waiting longest.
Work "I think I was hacked" tickets in one place: see each customer's real breach exposure beside their conversation, then note, tag, and reply with confidence.
Stop bouncing between your help desk and your email tool.
Give your support team one screen that explains why someone stopped getting your email and lets them fix it on the spot.