Support Intake Agent
From requests scattered across email, Slack, and Jira to one Teams queue and a routed Asana task.
Power Automate · Microsoft Teams · Webhooks · Asana API · Slack · Jira · Workflow Design
A colleague on the support team told me they were struggling to keep up. Requests reached the team from four places at once: email, Microsoft Teams chat, Slack, and Jira tickets, each with its own queue and its own notifications, and no one could watch all four. Some slipped through, some got worked twice, and there was no record of how a request turned into tracked work.
The intake workflow I built for the support team funnels email, Slack, and Jira into one Microsoft Teams channel, where an engineer turns a real request into a routed Asana task with one action.
Each source has its own webhook, keyed to the support email address, the Slack channel, or the Jira project. When a request lands, the webhook pulls the sender, subject, body, and attachments into a single message and posts it to one Microsoft Teams channel, so the team watches one queue instead of four.
The team triages in that channel. Most messages are noise and go no further. When a request is a real issue, an engineer opens the message actions menu and runs the Support Intake Agent action, which passes that message to a Power Automate flow.
The flow reads the message and its thread for the requestor, the description, and any attachments, then opens an Asana task with those fields copied across. It matches the request type to the team that owns it and assigns the task to that team’s project.
Funneling four channels into one could just relocate the noise instead of clearing it. The workflow creates nothing in Asana on its own. The team still reads every message, and a task appears only when someone runs the action on a specific one.
A request forwarded from email or Slack often loses its attachments and the name of the person who raised it. Each webhook captures the sender and the files at the source and carries them on the Teams message, and the flow copies all of it into the Asana task.
Routing by hand sends tasks to the wrong team, where they stall and get bounced back. The flow matches each request type to one owning team and assigns the Asana task to that team’s project, so the same kind of request always goes to the same place.
The support team watches one Teams channel instead of four separate inboxes.
Turning a request into a tracked Asana task is one action, and the task arrives with the requestor, the description, and the files already on it.
Every task lands with the team that owns its request type, and anyone can trace it back to the message it started as.