Connecting to Aha!

Aha! is web-based roadmap software. With Aha! you can set strategies, prioritize features, share visual plans as well as crowdsource feedbacks and engage a community. You can also use Aha! as a fully extendable agile development tool.

Data integration: Skyvia supports importing data to and from Aha!, exporting Aha! data to CSV files, replicating Aha! data to relational databases and synchronizing Aha! data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Aha!.

Query: Skyvia Query supports Aha!.

Aha! Specific Features and Limitations

Skyvia has the following limitations for Aha!:

  • In the Data Integration product, Aha! connections are supported only for packages, which use a new data integration runtime.

    Make sure you select the Use new runtime checkbox on the tab bar if you want to use Aha! in your package. You need to select this checkbox each time you create a new data integration package.

  • Skyvia supports import operations for such Aha! objects:
    • INSERT, UPDATE, DELETE: CapacityEstimateValues, Competitors, CreativeBriefs, EpicComments, Epics, FeatureComments, FeatureRequirements, Features, GoalComments, Goals, IdeaComments, IdeaEndorsements, IdeaOrganizations, InitiativeComments, Initiatives, Notes, ProductIdeas, ProductPersonas, ReleaseComments, ReleasePhaseComments, ReleasePhases, Releases, RequirementComments, ToDoComments, ToDos.
    • INSERT, UPDATE: EpicCapacityInvestments, FeatureCapacityInvestments, IdeaUsers, InitiativeCapacityInvestments, Products.
    • INSERT, DELETE: IdeaSubscriptions, ProductRoles.
    • INSERT: AccountIntegrations, IdeaPublicComments, ProductIntegrations, ProductUsers.
    • DELETE: EpicRecordLinks, FeatureRecordLinks, GoalRecordLinks, IdeaRecordLinks, InitiativeRecordLinks, NoteRecordLinks, ReleasePhaseRecordLinks, ReleaseRecordLinks.
    • UPDATE: Users.
  • Skyvia supports Replication with Incremental Updates for most Aha! objects except AccountBackups, CapacityEstimateValues, CapacityScenarios,EpicCapacityInvestments, FeatureCapacityInvestments, IdeaOrganizations, InitiativeCapacityInvestments, ProductCapacityInvestments, ProductRoles,ProductTeams, ProductUsers, StrategyModels, StrategyPositions, Teams, Workflows.
  • Skyvia supports Synchronization for such Aha! objects as EpicComments, FeatureComments, FeatureRequirements, GoalComments, Goals, IdeaComments, IdeaEndorsements, InitiativeComments, Initiatives, ProductIdeas, ProductPersonas, Products, ReleaseComments, ReleasePhaseComments, RequirementComments, ToDoComments.
  • Some objects like Goals, Initiatives, Epic, Releases, etc., contain the Watchers field. When querying data, data is not displayed in this field, but in import packages this field is available for mapping, and you can specify data that will be imported. The data must be specified as ["123456", "789456"], where 123456 and 789456 are Ids from the Users object.
  • The values for ScoreFacts field (in the Ideas objects) should be provided as a JSON array of objects, like the following [{"name": "Benefit", "value": 10}, {"name": "Effort", "value": 3}], where the name field contains the Score name, and the value field – Score value.
  • Some objects, like Products, ProductPersonas, Notes, Releases, Competitors, Features, ToDos, ProductIntegrations and AccountIntegrations, return the value of their updated_at field only when querying separate records by their id. When querying all records, they do not return this field. This means that we cannot use this field when performing replication with incremental updates or synchronization. Replication with incremental updates and synchronization can detect and sync newly created records in these objects using their created_at field, but cannot detect changes made to existing records.
  • When querying data from the Features object, data in the Goals field is displayed as a JSON array of objects like the following:

    [
       {
          "id":"7010029382627821579",
          "name":"Goal_Sk_Insert_0002",
          "url":"https://tohito-perfect.aha.io/strategic_imperatives/IT-G-11",
          "resource":"https://tohito-perfect.aha.io/api/v1/goals/IT-G-11",
          "created_at":"2021-09-20T14:54:13.186Z",
          "description":
             {"id":"7010029382751012013",
               "body":"Description body for Goals - from Skyvia import",
              "created_at":"2021-09-20T14:54:13.216Z",
              "attachments":[]}
       }
    ]
    

    However, when loading data to the Features object, you need to specify Goal ids as an array of numbers (ids of the Goals tables) ([6984435874395374467] or [6984435874395374467",6984435874150517722]).

Aha! Connections

When creating an Aha! connection, you need to enter a subdomain and log in to Aha! via OAuth 2.0. The OAuth authentication token is stored on the Skyvia server. Your Aha! account login and password are not stored on the Skyvia server.

To create an Aha! connection, perform the following steps:

  1. Click +NEW in the top menu.
  2. Open the Select Connector page by clicking Connection in the menu on the left.
  3. In the opened pane, click Aha!.
  4. In the Connection Editor page, in the Untitled field, specify a connection name that will be used to identify the connection.

    Connection Editor window

  5. Paste your Aha! subdomain to the Subdomain field, which you can find in your Aha! account profile.

    Connection Editor window

  6. Click Sign In with Aha!.
  7. In the opened window, enter your email address and password used when registering in Aha! and click Log in.
  8. Skyvia will request permission to access your Aha! account. Click Authorize to give permissions.
  9. Optionally, you can select the Suppress Extended Requests checkbox to reduce the number of API calls. However, beforehand read more about this option below.
  10. When everything is ready, use the Test Connection button to make sure that the connection is successful and then click Create Connection.

Connection Editor window

Suppressing Extended Requests

For some objects, Aha! API returns only part of the fields when querying multiple records. In order to query values of additional fields, Skyvia performs additional extended requests. Such API requests can be performed for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

To reduce the number of API calls, you can select the Suppress Extended Requests checkbox. However, please note that some of the fields in such objects will not be available in Skyvia (will return empty values) even if they have values in Aha! because Aha! API does not return them without extended requests.

Supported Actions and Actions Specifics

Aha! connector supports the following actions: