How to use IBM App Connect with Asana

Asana is a work management and project tracking app that provides projects, tasks, conversations, and dashboards to enable teams to collaborate and track progress online.

New work comes from many sources, whether it's a new lead entered by one of the team into the marketing system or a new contact subscribing to your newsletter. App Connect ensures that your team is always on the ball and handling the most important work by automatically creating new projects and tasks in Asana, or updating other apps when you create a task in Asana.

Availability:
  • A connector in IBM App Connect Enterprise as a ServiceApp Connect Enterprise as a Service connector
  • A connector in IBM App Connect on IBM CloudCloud-managed connector
  • A local connector in a Designer instance of IBM App Connect in containers (Continuous Delivery release)Local connector in containers (Continuous Delivery release) 11.0.0.11-r1 or later
  • A local connector in a Designer instance of IBM App Connect in containers (Long Term Support)Local connector in containers (Long Term Support release)
The following information describes how to use IBM® App Connect to connect Asana to your other applications.

Connecting to Asana

For the considerations and steps you need to connect App Connect on IBM Cloud to a Asana account, see Connecting to Asana from IBM App Connect on IBM Cloud and App Connect Enterprise as a Service.

General considerations

Before you use App Connect Designer with Asana, take note of the following considerations:

  • (General consideration) You can see lists of the trigger events and actions that are available on the Catalog page of the App Connect Designer.

    For some applications, the events and actions in the catalog depend on the environment (IBM Cloud Pak for Integration or App Connect on IBM Cloud) and whether the connector supports configurable events and dynamic discovery of actions. If the application supports configurable events, you see a Show more configurable events link under the events list. If the application supports dynamic discovery of actions, you see a Show more link under the actions list.

  • (General consideration) If you are using multiple accounts for an application, the set of fields that is displayed when you select an action for that application can vary for different accounts. In the flow editor, some applications always provide a curated set of static fields for an action. Other applications use dynamic discovery to retrieve the set of fields that are configured on the instance that you are connected to. For example, if you have two accounts for two instances of an application, the first account might use settings that are ready for immediate use. However, the second account might be configured with extra custom fields.
  • Before you add events or actions to your flow, make sure you have the following resources:
    • If you choose the 'New task' event to trigger your flow, you must have an Asana workspace/organization, and at least one project set up in Asana; App Connect will monitor the workspace/organization (or optional team) for new tasks created in the project.
    • If you add the 'Create attachment' action to your flow, you must have an existing task in Asana for App Connect to add your attachment to.
      Tip: When editing the flow, the Task field offers a list of known tasks for you to select from. If you want to attach a file to a task that is to be created later for a 'New task' event in the flow, you can switch to advanced mode to map the New task / Task ID field into the Task field. If you then exit advanced mode, the Task field will show This field has been defined in advanced mode.

      In addition to specifying the task, you'll also need to provide the name of the project that the task belongs to, and the workspace/organization (and optionally, the team) that contains your project, when you add this action to your flow.

      When defining the attachment's details, you'd typically specify its name and content by mapping to output from a previous node in your flow; for example, a file retrieved from a folder in Box or Dropbox, or an attachment from a submitted Wufoo form. To define the attachment's details, complete the following fields:
      Attachment name
      Specify the file name as a mapped field or by entering a file name; for example, myfile.txt, myfile.doc, myimage.png.
      Content
      Specify the text or binary content of the attachment.
      • For a plain text file, you can specify hard-coded text directly in the Content field, or you can map to a field from a previous event or action in the flow. Note also that you might need to apply base64 encoding to the content, based on its origin.
        • If you specify hard-coded text directly in the Content field, you'll need to apply base64 encoding to the text. First, use the Insert a function icon Insert a function iconto add the $base64encode() function.
          Adding the $base64encode function

          Then click within the brackets () and enter your text within the single quotation marks, using \n to depict a line break; for example, ('Some text\nSome text on a new line').

        • If you specify your text content by using a mapped field, base64 encoding must be applied if you are mapping to the contents of a file in Box. For other applications such as Dropbox or Wufoo, you do not need to apply this encoding. To apply base64 encoding to a mapped field, use the Insert a mapping Insert a mapping iconicon to add the mapped field. Then click the mapped field and click Apply a function to open the Functions list.
          Selecting 'Apply a function'

          Finally, under Binary functions in the list, select $base64encode().

      • For binary content, use a mapped field to specify the contents.
      Content type
      Specify the content type as a Multipurpose Internet Mail Extensions (MIME) type; for example, text/plain, image/png, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/pdf. Ensure that you specify the correct MIME type for the attachment to be created.
      • In this example, the file name is manually specified and hard-coded text is entered directly into the Content field, with base64 encoding applied.
        Example: Creating an attachment by specifying hard-coded text
      • In this example, the flow includes a Box 'Retrieve file' action that is used to specify the ID of a .txt file to be retrieved. In the subsequent Asana 'Create attachment' action, the Attachment name field is used to map to the name of the retrieved Box file, and the Content field is used to map to the retrieved content. Base64 encoding is additionally applied to the mapped content.
        Example: Creating an attachment by mapping to a text file in Box
      • In this example, the flow includes a Dropbox 'Retrieve file' action that is used to specify the path and file name of a .txt file to be retrieved. In the subsequent Asana 'Create attachment' action, the Attachment name field is used to map to the name of the retrieved Dropbox file, and the Content field is used to map to the retrieved content.
        Example: Creating an attachment by mapping to a text file in Dropbox
      • In this example, the flow includes a Box 'Retrieve file' action that is used to specify the ID of a .png file to be retrieved. In the subsequent Asana 'Create attachment' action, the Attachment name field is used to map to the name of the retrieved Box file, and the Content field is used to map to the retrieved content.
        Example: Creating an attachment by mapping to an image file
      • In this example, the flow includes a Box 'Retrieve file' action that is used to specify the ID of a .doc file to be retrieved. In the subsequent Asana 'Create attachment' action, the Attachment name field is used to map to the name of the retrieved Box file, and the Content field is used to map to the retrieved content.
        Example: Creating an attachment by mapping to a Microsoft Word file
    • If you add the 'Create project' action to your flow, you must have an existing team in Asana for App Connect to add your project to; you'll need to specify the name of team in App Connect.
    • If you add the 'Create task' action to your flow, you must have an existing project in Asana for App Connect to add your task to; you'll need to specify the name of the project in App Connect.

Events and actions

Asana events

These events are for changes in this application that trigger a flow to start performing the actions in the flow.

Tasks
New task
Deleted task

Asana actions

These are actions on this application that you want a flow to complete.

Attachments
Create attachment
Retrieve attachments
Projects
Create project
Retrieve projects
Update project
Stories
Create story
Retrieve stories
Update story
Delete story
Tags
Create tag
Update tag
Tasks
Create task
Retrieve tasks
Update task
Delete task
Teams
Retrieve teams
Users
Retrieve users
Workspaces
Retrieve workspaces
Update workspace

Examples

Screenshot of the dashboard tile for a template that uses Asana

Use templates to quickly create flows for Asana

Learn how to use App Connect templates to quickly create flows that perform actions on Asana; for example, open the Templates gallery, then search for asana.

Screenshot of the dashboard tile for a flow that connects Wufoo to Salesforce and Asana

Creating an event-driven flow that updates or creates a contact in Salesforce and updates Asana whenever you receive a form in Wufoo

Learn how to use App Connect to connect Wufoo to Salesforce and Asana so that every time someone submits a completed change of address form in Wufoo, a Salesforce contact is updated or created, and, according to the Salesforce action, a task is added to the appropriate project in Asana.