AI Chatbot for Asana: escalations that enter the intake process you already run
You already have an intake project. It has a triage section, custom fields, a rotation of assignees and rules that move work along. Asyntai answers your website visitors using your own content, and when a question needs a person, it enters that project as a properly formed task — not as a message in a separate tool that somebody has to copy across by hand.
Get Started Free See the honest setupSee what the chatbot would answer
Enter your website and watch the AI answer questions using your own content — the answers that decide what ever reaches your intake project.
Why the chatbot should feed an existing Asana project
Teams that run Asana properly have already done the hard part. Requests come in through one door. They land in a triage section. Somebody owns each one. Custom fields say what type of request it is and how urgent, and rules push work through the sections without anyone chasing it. That process took months to agree on.
So the wrong answer is a new project called Chat. A second intake path defeats the point of having one, and within a quarter it is a graveyard nobody reports on. The right answer is much duller: chat escalations become ordinary tasks in the project that already exists, indistinguishable from a request that arrived by form or by email.
The goal is not to give chat a home in Asana. It is to make chat stop being a separate thing at all.
Done that way, the reporting works immediately. Your intake dashboard counts chat escalations alongside every other request. Your workload view accounts for them. Your response-time field measures them on the same clock. Nobody has to remember that a second queue exists, because it does not.
The four chatbot events, and which belongs in intake
Asyntai fires four webhook events. You choose which ones a given webhook sends.
Send escalation.requested to intake and stop there. The temptation with a structured setup is to capture everything — but a project that receives an event on every single message stops being an intake project and becomes a log, and your cycle-time reporting is the first casualty. Route the other three to a warehouse, a dashboard tool or a weekly digest instead.
How to connect the chatbot to Asana, honestly
One clarification before the steps, because it changes how you plan the work: there is no one-click install here, and Asyntai does not call the Asana API directly.
An Asyntai webhook POSTs JSON to a URL and signs the body. The only headers it sends are Content-Type, X-Webhook-Event and X-Webhook-Signature. There is no field for a custom authentication header — and every Asana API request needs an Authorization token. So a connector holds that token: Make, Zapier, Pabbly, n8n, or an endpoint your own team hosts. For a security review that is usually the easier answer anyway, because the Asana credential lives in a tool you already govern.
The four steps in full
Support and Website chat.Webhooks by Zapier trigger with Catch Hook. In Make it is Webhooks → Custom webhook. Both generate a unique address and start listening. Copy it.Settings → API, add a webhook, paste the URL, tick escalation.requested, and set a signing secret used to sign each delivery. Then open your own widget and ask the chatbot for a human, so the connector reads one real payload and learns the field names.Once the connector has read one delivery, those fields are mappable. In Make's expression syntax, where 1 is the webhook module number:
What each Asana field should hold
payload.message. Never a generic title — triage happens by reading names in a list view.The Asana connection lives in the connector, never in Asyntai. Rotating the token, or repointing intake at a different project after a reorganisation, is a change in one place and never touches your chatbot.
Two Asana workflows worth building first
The first one is the whole feature. The second closes the loop, and is what makes the reporting trustworthy.
An escalation enters triage with its fields already filled
A visitor asks for a person at eleven at night. Within a second there is a task in the Triage section of your intake project, named with the customer's actual sentence, tagged Website chat in the Source field, and holding the session id. Your existing rule then does what it does for every other request: assigns to the person on rota, sets the due date from the service target, and posts to the project's channel. No one changed their process for this.
The task closes itself when an agent picks the conversation up
Tick takeover.started on a second webhook. When one of your people takes over the conversation, the connector searches the intake project for the task carrying that session id and moves it to In progress, with the agent set as assignee. This is the step most teams skip, and it is why their intake numbers drift — work gets done in the chat tool while the task sits open for a week and ruins the cycle-time average.
The other direction: Asana can ask the chatbot too
Events flowing out are half of it. Any step that can make an HTTP request — a connector action, a script, a scheduled job — can put a question in and get an answer back, grounded in your own published content.
Take the response value and post it as the first comment on the task. The assignee opens a triage item and finds a draft already there, citing what your documentation actually says. Reuse the same session_id and follow-up calls are understood as one thread. Full reference in the API documentation.
What the Asana connection adds to your chatbot
One intake path, not two
Chat escalations arrive in the same project, sections and custom fields as form and email requests, so your reporting stays whole.
Signed deliveries
Each POST carries an HMAC-SHA256 signature of the body, generated from your secret, so a delivery can be verified against your account.
Answers from your own content
The chatbot answers using your own pages, documents and FAQ entries, so only the genuine exceptions reach a person at all.
30+ languages, one task format
Visitors get replies in their own language automatically. The task that reaches triage is structured identically either way.
Your rules still run
It is an ordinary task, so every Asana rule you already wrote for assignment, sections, due dates and approvals applies unchanged.
Credentials stay governed
The Asana token lives in your connector, not in the chat tool, which is usually the shorter conversation with a security reviewer.
What this actually costs
Three products. Only the middle one is likely to be a new line item.
- Asyntai. Webhooks and the REST API need a paid plan — Starter, Standard or Pro. The free plan gives you 100 messages a month to try the chatbot itself, with no API or webhook access. See pricing.
- Asana. Its own subscription, which your team already has if you run an intake project with rules and custom fields.
- The connector. Make, Zapier, Pabbly and n8n bill separately. Two automations firing on
escalation.requestedandtakeover.startedare low volume by design and usually fit a free tier. Addingmessage.receiveddoes not, which is the practical reason on top of the reporting one to leave it off.
Asana chatbot questions
How does the chatbot create a task?
Through a connector. Asyntai POSTs signed JSON to any URL you nominate, but it cannot send a custom Authorization header, and every Asana API call needs one. Make, Zapier, Pabbly, n8n or your own endpoint receives the webhook, holds the Asana connection, and calls the task action.
Can the task be assigned and placed in a section?
Yes. Asana structures work as workspace, project, section and task, and a task carries a single assignee. Create Task accepts a workspace, name, description, assignee, followers and custom fields, and Add Task to Section of Project places it. Many teams let their existing rules handle both instead.
Which events should feed the intake project?
escalation.requested only, in most setups, with takeover.started as a second webhook for closing the loop. message.received and conversation.started fire far too often to belong in a project you report on.
Can a rule ask the chatbot for a suggested reply?
Yes. POST to https://asyntai.com/api/v1/chat/ with an X-API-Key header and a body of message, session_id and website_id. The answer arrives in the response field, ready to post as the first task comment.
What does it cost?
Asyntai webhooks and the API are on the paid plans (Starter, Standard, Pro); the free plan's 100 monthly messages do not include them. Asana bills separately, and so does the connector, though a single low-volume automation usually fits a free tier.
Other ways to wire the chatbot in
The same four events and the same API work through any tool that can receive a JSON POST.
Put chat inside the process you already trust
Build the chatbot, point one webhook at your connector, and every request for a person enters triage as a properly formed task with its fields filled in.
Get Started Free