File a bug into Asana without leaving the session
Connect one personal access token, choose the project once, and a tester turns what they are looking at into an Asana task — description written, screenshot attached, link back to the run.
Personal access token · no Asana app to install
Checkout fails on the payment step — iPhone 15, Safari
screenshot.png
Open task →
- One token
- a personal access token, no Asana app to install
- One project
- chosen once, stored as the org default
- One-way
- nothing polls Asana or reads a status back
- Screenshot attached
- uploaded to the task, then discarded
What gets filed, and how
Every filing creates one Asana task from what the tester was looking at — a title, a body, one project and the screenshot.
A task in the project you choose
Filing POSTs a task with the project you picked as its only assignment, so it lands wherever Asana puts a new task there. You choose the destination once: we walk every workspace the token can reach and list the projects inside each, archived ones left out, as a single flat list — no board-then-list second step.
The failure written into the notes
The task carries a name — the editable title, the one field the form refuses to leave empty — and notes: steps, expected result, actual result and the link back to the run. Notes is Asana's plain-text field, so what you type is what arrives; line breaks survive, which is what reproduction steps need.
The screenshot attached, then discarded
The image travels with the filing request, is uploaded to the new task as a file attachment, and is then discarded — never written to our object storage. The task is created first and the image attached second, so if it is too large or Asana rejects it the task still exists and the result tells you the screenshot did not attach.
Just a title, a body and one project
Those three fields, plus the attachment, are everything filing sets. No assignee, no due date, no priority, no tag, no custom field, no subtask and no section — an Asana rule on the receiving project is the place to add any of them after the task arrives.
Set up once for the whole org
Asana takes your organisation's project-management slot, one connection for everyone, configured once with a personal access token sent as a Bearer header — no app to publish, no admin approval to chase, no callback URL to register. A bug tracker occupies a separate slot, so both can be connected at once and the filing dialog asks which to use.
Connect, not migrate
The integration files new tasks going forward; it does not import or migrate your existing Asana work. Filing is one-way — nothing reads a status back — and connecting a second project-management tool replaces Asana rather than sitting beside it.
What the task carries, and what it leaves alone
createIssue sends a title, a body and one project. Everything below that line is a field we leave alone.
Set on every task
- name — the editable title
- notes — the plain-text body
- projects — the one project you chose
- The screenshot, as a file attachment
Left alone
- Assignee, due date, priority, tag
- Custom field, subtask, section
- Rich text — notes is plain text only
- Status read-back — filing is one-way
The token, and what we store
- Carried on every call as a Bearer header
- Encrypted at rest with AES-256-GCM, a fresh IV and auth tag per record; the key lives in an environment variable, read lazily
- Read back: id, category, platform, default project, whether active, when made — never the token
Frequently asked questions
Yes. A tester turns a device session, a failed automated test or an accessibility scan into an Asana task without leaving what they were looking at — the title and notes written for them and the screenshot attached. Filing is one-way, into the one project you chose when you connected.
One Asana personal access token, created from your own Asana account. Paste it into Organization then Integrations then Project management, choose a project, and you are done. There is no Asana app to install, no admin approval to chase and no callback URL to register.
Yours, or whoever owns the token you connected. Because the integration authenticates with a personal access token rather than an installed app, Asana attributes every task it creates to that account. If you would rather the tasks came from a service identity, create the token on a service account in your Asana workspace and connect that instead.
A task is created with a name, notes and one project, plus the screenshot as an attachment. It sets no assignee, no due date, no priority, no tag, no custom field, no subtask and no section within the project. If you need any of those, an Asana rule on the receiving project can move, assign or tag the task after it arrives — that is Asana's own automation, not us.
Not as rich text. The body is written to the task's notes field, which is Asana's plain-text field, so markdown or HTML arrives as the characters you typed rather than as formatting. Line breaks survive, which is what matters for reproduction steps.
No. The image travels with the filing request, is uploaded to the Asana task as an attachment, and is then discarded. It is never written to our object storage. If it is larger than the attachment ceiling, or Asana rejects it, the task is still created and the result tells you the screenshot did not attach.
Yes. An organisation holds one project-management connection and one defect-tracker connection, and both can be live at once. When a tester files, the dialog asks which of the two to use. Filing is one-way — nothing reads a status back from Asana — and there is one destination project per organisation, with no routing by product or severity. Connecting a second project-management tool replaces Asana rather than sitting beside it.
Connect Asana and file the next one from the session
Paste a token, pick a project, and the reporting control does the rest. See the full set of tools we file into on the integrations page.