Zendesk’s Slack message action, the /zendesk shortcut, a Workflow Builder emoji starter and manual copying all end in a ticket. They differ on who becomes the requester, whether the ticket lands back in the Slack thread, and how repeat messages get merged. The Zendesk details below come from Zendesk’s Slack integration help article, its merge article and its developer docs for tickets. The Slack details come from its Slack Connect guide and its Workflow Builder guide. I read all of them on 2026-11-11. None of them shows a publication date. Where a page is silent, I say so and give a test you can run in one channel.
Four paths and what each one needs
| Path | Who starts it | What it needs | Requester | Thread and duplicates |
|---|---|---|---|---|
| Zendesk “Create a ticket” message action | An agent, from More actions on a message | The Slack for Zendesk Support integration invited to the channel | Slack authenticated user by default, can be changed | The article says the ticket is added as a reply to the Slack thread. Merge in Zendesk afterwards |
| /zendesk shortcut | An agent, typing /zendesk | The integration invited to the channel. The article says it can create a ticket without a Slack message first | The article’s requester rule is stated generally; I did not find a separate rule for the shortcut | Thread behaviour not stated. Merge afterwards |
| Workflow Builder, emoji starter | A member who adds the chosen emoji | A paid Slack plan. Admins can block external organizations from member-built workflows | Not stated on the Slack pages I read | Not stated |
| Manual copy-paste | You | Nothing | Whatever you type | Nothing posts to the thread unless you post it |
Plan rules as of 2026-11-11: Zendesk’s help article lists Team, Professional or Enterprise for the Support plan, and Team, Growth, Professional, Enterprise or Enterprise Plus for all Suites. Slack’s Slack Connect guide says each organization in a shared channel must be on a paid Slack plan. In a customer channel, both companies’ plans matter.
Install, authorize and test in one channel
Zendesk’s help article says the action works only in channels where the integration has been invited. It does not say who may invite it. Slack’s Slack Connect guide says only the organization that owns a channel can invite organizations, remove them or manage posting permissions. In a channel your customer owns, the invitation is theirs to make. Ask them before you promise the action will appear.
The account that authenticated Zendesk during installation matters more than it looks, because it becomes the requester when the field is blank or fails to save. Authenticate with a shared support login, not a personal one that might leave.
Before you touch a customer channel, run this in a private test channel:
- Invite the app and confirm that “Create a ticket” appears under More actions on a message.
- Submit once from a top-level message and once from a thread reply. The article describes the reply behaviour for the message action, so compare what the ticket shows and what the thread shows.
- Leave Requester blank on purpose and note whose name the ticket carries.
- Check that the Description field holds the message text and nothing else.
The article does not describe what happens when a submit fails. Treat a failed submit as unknown. Search Zendesk for a ticket created in the last few minutes before you retry, because a retry can create a duplicate. If none exists, create the ticket by hand and paste the Slack message link into the first internal note.
Who becomes the requester
The help article says the requester is set to the Slack authenticated user by default and can be changed. If the requester is blank or has problems saving, it is set to the user who authenticated to Zendesk during installation. If an unrecognized user creates the ticket in Slack, Zendesk creates a new Support end user and assigns the ticket to them.
The developer docs describe the API path. A requester needs a name and an email. If the identity does not exist, Zendesk creates a new user profile. If a user with that email already exists, Zendesk uses that user and “makes no updates to existing users during the ticket creation process.” The pages I read do not say whether the Slack form asks a new customer for an email, so treat that as untested.
Decision rule: on the first ticket for each customer, open the requester record. If it shows the installer’s name, or a name that is not the person who wrote, fix it before anything else. If the form will not take the customer’s email, file that customer’s tickets by hand with the requester set to them, until a Slack-created ticket saves correctly.
Worked example. Dana Ortiz at Acme posts a top-level message in your shared channel, and you file it from the message action. The requester shows your installer’s name. Save a view filtered on requester equal to that installer and check it each morning before the queue opens. Every hit is a customer whose ticket has no real requester.
Duplicates and merges
Zendesk’s merge article sets the rules:
- Without ticket CCs, you can merge two tickets only if they are from the same requester.
- With ticket CCs enabled, you can merge tickets with different requesters. The requester of the closed ticket is added as a CC on the new one, and anyone already CC’d on the original is added too.
- The ticket closed by the merge gets the closed_by_merge tag.
- Merges are permanent and cannot be undone.
- Tags, Type, Priority and Status are not carried over from the closed ticket. Only fields filled in on the new ticket are saved.
- Both tickets must be less than Solved. An unsolved ticket can be merged into a Solved one without reopening it.
Worked example. Dana posts three top-level messages in 25 minutes about a failing invoice export. Each becomes a ticket: 4101, 4102 and 4103. All three share a requester, so merge 4102 and 4103 into 4101, the oldest unsolved one. Any priority set on 4102 or 4103 does not carry over, so check that 4101 has the right one.
The rule: if the repeat sits in the same thread as an existing ticket, reply there and open nothing. Merge a new top-level message into an existing ticket only when the requesters match or CCs are on. If neither holds, leave an internal note linking the two tickets and work them separately.
What the customer sees, and when the clock starts
Zendesk labels the ticket field “Description (public)” and says anyone with access to the ticket can view the information in it. Trim the pre-filled message text to what the customer wrote and keep internal discussion out. For an internal note, reply to the Slack notification and convert the reply to a comment, as the article describes.
The article does not say what time the ticket shows. A ticket filed from a message is created after that message, and the gap is however long the agent took to click. If your SLA clock runs from the ticket’s created time, a customer who wrote at 09:00 and was filed at 09:40 starts 40 minutes late on the clock. Record the Slack message timestamp in the first internal note and measure from that. For how to define the clock, see the Slack Connect SLA guide.
Follow-ups are a second gap. The article says that if your Zendesk administrator has configured triggers for Slack, you will see ticket updates in your Slack channels. It does not say whether ordinary thread replies sync into the ticket as comments. Post a follow-up in the thread and check the ticket. Then reply in Zendesk and check the thread. If follow-ups do not sync, copy each one into the ticket as a comment with its Slack timestamp.
When you post the ticket number by hand, post: “I’ve opened a ticket for this so the team that owns the fix can pick it up. Please keep follow-ups in this thread.”
Shortcut tickets have a related gap. Because the /zendesk shortcut can create a ticket without a Slack message first, that ticket has no message to point back to. Paste the Slack message link into the internal note if there is one.
Routing without an assignee
External users cannot use the global /zendesk shortcut in Slack Connect channels, and the Assignee field is not available to them on the Create new ticket form. Routing therefore happens after the ticket exists.
The help article says the created_from_slack tag is added to tickets created in Slack, and that using the @zendesk mention in a Slack Connect channel does not add it. A trigger keyed on that tag therefore misses mention-created tickets. Here is an illustration with made-up numbers: a channel produces 100 tickets, and 30 of them come through the mention. A tag-only trigger leaves those 30 unrouted. Add a view of tickets created in the last day without the tag, and skim it each morning. The article does not say whether manually created tickets carry the tag, so test that before you rely on it.
Which messages must become tickets
If your answer ends the request in one reply and nobody else has to act, answer in the thread. Otherwise open a ticket. Open one for:
- Any promised time, such as “a fix by Friday” or “an update by 5 pm”.
- Refunds, credits, and invoice or plan changes.
- Bug or outage reports with a symptom someone else must reproduce.
- Access, data or security questions.
- Any message that says “still” or “again” about an earlier request. Find the existing ticket first.
Answer in the thread for thanks, confirmations, meeting times, wrong-channel redirects, and how-to questions one reply closes. An emoji reaction is not an answer. If you react with a checkmark and walk away, the request is still open.
Worked example. A shared channel gets 40 top-level customer messages on a busy day, and 15 need another team. That is 15 tickets and 25 thread replies. Measure the 15, because their clock and due dates are the ones that matter.
The alternative to copying
Weft describes itself on its homepage as “The support inbox for every customer channel.” Its homepage also says: “Replies go out under the agent’s own name and avatar, not a bot account.” I checked the homepage on 2026-11-11, and it does not mention Zendesk among its channels or integrations. So Weft does not put a ticket in Zendesk. If the ticket has to live in Zendesk, keep one of the four paths above and use the checks in this guide.