Safeguard Docs
Integrations

Asana

Create Asana tasks from Safeguard. What the Asana personal access token needs, which tokens work, and step-by-step setup.

Availability

This integration is switched on per workspace. If you do not see the card under Integrations, ask your Safeguard contact.

What it does

The Asana card connects Safeguard to one Asana project. Safeguard creates Asana tasks for the findings and work you send to Asana and adds comments to them as they change. Find the card under Integrations on the Notification tab.

Public vs private

This does not apply to Asana: you always connect your own Asana workspace with a token.

Supported auth methods

MethodUse it whenNotes
Personal access token (dialog label Personal Access Token)All connectionsCreated in the Asana developer console. It acts on behalf of the person who created it
OAuth (sign in with Asana)Not available yet

Permissions required

Asana describes a personal access token as acting on your behalf, so what Safeguard can do depends on its user's access. Safeguard uses it to read your workspaces and projects and to create tasks and comments. It never edits or deletes other tasks or projects.

What the token's user needsRequired?What Safeguard uses it for
Membership in the workspaceRequiredChecking the token (/users/me) and listing projects (/projects?workspace=)
Access to the chosen project, with permission to add tasksRequiredReading the project and creating tasks (POST /tasks)
Permission to comment on tasksRequiredAdding comments to the tasks it created (POST /tasks/{task}/stories)

Least privilege: a token of a dedicated Asana user who is a member of the one project only.

Token types

Token typeWorks?Notes
Personal access tokenYesSent as a Bearer token
Service account tokenNot tested
OAuth access tokenNot available yetThe dialog takes a personal access token

Expiry: Asana personal access tokens do not expire by default (Enterprise+ admins can change how they are handled). Review and replace them on a fixed schedule, such as every 90 days.

What we never need: organization admin rights, or access to projects other than the one you choose.

Step-by-step setup

Create the credential in Asana

  1. Open the Asana developer console (https://app.asana.com/0/my-apps).
  2. Create a new personal access token and give it a description such as Safeguard.
  3. Copy the token. Keep it secret: it acts as you.

Or check it with curl

curl -s https://app.asana.com/api/1.0/users/me -H "Authorization: Bearer $ASANA_TOKEN"

Connect it in Safeguard

  1. Open Integrations and choose the Notification tab.
  2. Click Connect on the Asana card.
  3. On Credentials, enter an Integration Name, an optional Description, and paste the Personal Access Token. If you belong to several workspaces, enter the Workspace GID to list that workspace's projects (otherwise Safeguard uses your first workspace).
  4. Click Next. On Destination, choose the Project.
  5. Click Connect.

Webhooks and triggers

The dialog does not set up Asana webhooks yet, so changes made in Asana are not sent back to Safeguard. Safeguard creates tasks and adds comments when the events you route to Asana happen.

What we read and store

  • Read: the token's user and workspaces, and the projects of the workspace.
  • Stored: the connection's name, workspace and project, links between Safeguard items and Asana tasks, and the token. Safeguard never shows the token again in the dialog.
  • Sent to Asana: task names, descriptions and comments about your Safeguard findings.
  • No customer data from this integration is sent to third-party LLMs.

Troubleshooting

Message you seeCauseFix
Asana validation failed: ...Asana refused the token, or the user cannot see the projectCreate a new token, or add the user to the project
Asana connection error: ...Safeguard could not reach AsanaTry again in a few minutes
No projects found for these credentialsThe workspace has no projects the user can see, or the wrong workspace was usedEnter the right Workspace GID, or add the user to the project

Rotation and disconnect

  • Rotate: create a new token in the developer console, open the Asana connection on the Notification tab, choose Update, paste the new token and choose Save Changes. Then deauthorize the old token.
  • Disconnect: choose Delete on the connection, then deauthorize the token in the developer console. Tasks already created stay in Asana.

Vendor references

On this page