Asana Grid Integration

The Asana Grid integration connects your Asana Projects & Tasks directly into AppColab Grid for live task visibility, real-time search, server-side pagination, and inline task updates right inside Salesforce.

Asana Live Grid Preview


What’s Deployed

Component Name Purpose
Named Credential Asana Connects to https://app.asana.com via Asana External Credential
External Credential Asana Custom authentication with Bearer <Personal_Access_Token>
Apex Client AsanaClient.cls REST client supporting getTasksByProject, getTask, createTask, updateTask, deleteTask
Apex Data Provider AsanaGridDataProvider.cls Implements appcg.GridDataProviderV1 and appcg.GridDataMutationProviderV1 with full CRUD
Permission Set Integration_Admin Grants access to Asana → ApiKey external credential principal

One-Time Manual Setup

1. Generate Your Free Asana Personal Access Token (PAT)

  1. Log in to Asana and go to the Asana Developer Console.
  2. Under the Personal access tokens section, click + New access token:
    • Token description: AppColab Grid Integration
    • Check the terms agreement.
    • Click Create token.
  3. Copy the generated token (e.g., 1/1208945678901234:abcdef...).

Asana Token Setup


2. Configure Credentials in Salesforce Setup

2.1 Create the External Credential

  1. Go to Setup (gear icon ⚙️ → Setup).
  2. In the Quick Find box, enter Named Credentials and select Named Credentials.
  3. Click the External Credentials tab → click New:
    • Label: Asana
    • Name: Asana
    • Authentication Protocol: Custom
    • Click Save.
  4. In the Principals section, click New:
    • Parameter Name: ApiKey
    • Sequence: 1
    • Click Save.
  5. In the Custom Headers section, click New:
    • Name: Authorization
    • Value: Bearer YOUR_ASANA_TOKEN (paste your token from Step 1)
    • Sequence Number: 1
    • Click Save.

Asana External Credential Setup

2.2 Create the Named Credential

  1. Click the Named Credentials tab (next to External Credentials) → click New:
    • Label: Asana
    • Name: Asana
    • URL: https://app.asana.com
    • External Credential: Select Asana
    • Generate Authorization Header: Leave Unchecked (handled by custom Authorization header)
    • Allow Formulas in HTTP Header: Checked
  2. Click Save.

Asana Named Credential Setup


3. Assign Permission Set Access

  1. In Salesforce Setup, enter Permission Sets in Quick Find.
  2. Select Integration Admin (or Appcolab Grid Admin).
  3. Click External Credential Principal Access → click Edit.
  4. Add Asana - ApiKey to Enabled External Credential Principals.
  5. Click Save and verify the permission set is assigned to your Salesforce users.

Creating an Asana Grid Definition

  1. In Salesforce, open AppColab Grid app → Grid Definitions tab → click New Grid Definition.
  2. Fill in:
    • Grid Settings Name: Asana_Project_Tasks
    • Grid Label: Asana Project Tasks
    • Is Active?: Checked
    • Data Provider Class: AsanaGridDataProvider
    • Data Provider Configuration:
      {
        "projectId": "1208945678901234"
      }
      

      Tip: Find your projectId directly in your Asana browser URL:
      https://app.asana.com/0/1208945678901234/list

  3. Click Save & Next → proceed to Preview.
  4. All tasks for that project render with live task names, completion status, assignees, and due dates!

Asana Grid Definition


Supported Grid Features

Column / Feature Data Type Notes
Name TEXT Task title (editable)
Completed BOOLEAN Checkbox toggle to complete/uncomplete tasks
Assignee TEXT Name of assigned team member
Due Date DATE Task due date (editable)
Notes / Description TEXT Task description
Created At DATETIME Task creation timestamp
Server Pagination Core Feature Efficiently pages through large projects
Full CRUD Mutations Inline-edit tasks, create new tasks, or delete tasks directly from Salesforce

Troubleshooting

  • 401 Unauthorized: Not Authorized: Make sure the Asana PAT starts with Bearer and was copied completely without extra spaces.
  • 404 Not Found: project: Not a recognized input: Verify the projectId number from your Asana browser address bar.
  • User doesn't have access to the external credential principal: Ensure the Integration Admin permission set is assigned to your Salesforce user.