Integration

Aha! integration

Aha! is a product development platform for roadmaps, ideas and delivery. Through its API v3 an agent can list, read, create, update and delete features, epics, requirements, tasks (to-dos), comments, releases, release phases, iterations, initiatives, goals, key results, competitors, personas, tags, workspaces, custom field definitions and options, automations and their actions, and discovery studies and interviews, and read ideas, idea portals, portal and idea users, proxy votes, idea organizations, program increments, applications, users and strategy records. Lists filter with filter.<operator>[field] objects and page with a cursor (after, per_page up to 200). Not exposed: the API v1-only operations (creating ideas, votes or attachments), the PUT twin of each update (the PATCH tool sends the same body) and the annotation list (it needs an owner the spec does not let a caller pass). Authentication is an Aha! API key (Settings, Personal, Developer, API key) sent as a Bearer token; it acts with the permissions of the user who created it.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Aha!.Built from the 132 Aha! tools below, on the connection you add once.

What you can do with Aha!

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Automation, 5 operations

  • create_automationCreate automationPOSTCreates an automation in Aha! and returns it. Required: trigger_record_type. Once enabled, it runs its actions (updating records, creating comments or to-dos, sending email) by itself whenever its trigger fires.
  • delete_automationDelete automationDELETEDeletes an automation.
  • get_automationGet automationGETReturns one automation by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_automationsList automationsGETLists automations in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_automationUpdate automationPATCHUpdates an automation: only the fields you send change. Leave out a field to keep its value. Enabling an automation makes it run its actions by itself whenever its trigger fires.

Automation action, 5 operations

  • create_automation_actionCreate automation actionPOSTCreates an automation action in Aha! and returns it. Required: automation_id, type. A send_email action emails real people each time the automation fires; send_to_integration sends records to an integration.
  • delete_automation_actionDelete automation actionDELETEDeletes an automation action.
  • get_automation_actionGet automation actionGETReturns one automation action by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_automation_actionsList automation actionsGETLists automation actions in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_automation_actionUpdate automation actionPATCHUpdates an automation action: only the fields you send change. Leave out a field to keep its value. A send_email action emails real people each time the automation fires.

Comment, 5 operations

  • create_commentCreate commentPOSTCreates a comment in Aha! and returns it. Required: body, record_id, record_type. Attach it to a record with record_type and record_id; reply to a comment with parent_id.
  • delete_commentDelete commentDELETEDeletes a comment.
  • get_commentGet commentGETReturns one comment by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_commentsList commentsGETLists comments in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_commentUpdate commentPATCHUpdates a comment: only the fields you send change. Leave out a field to keep its value.

Competitor, 5 operations

  • create_competitorCreate competitorPOSTCreates a competitor in Aha! and returns it. Required: project_id.
  • delete_competitorDelete competitorDELETEDeletes a competitor.
  • get_competitorGet competitorGETReturns one competitor by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_competitorsList competitorsGETLists competitors in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_competitorUpdate competitorPATCHUpdates a competitor: only the fields you send change. Leave out a field to keep its value.

Custom field option, 5 operations

  • create_custom_field_optionCreate custom field optionPOSTCreates a custom field option in Aha! and returns it. Required: name, custom_field_definition_id.
  • delete_custom_field_optionDelete custom field optionDELETEDeletes a custom field option.
  • get_custom_field_optionGet custom field optionGETReturns one custom field option by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_custom_field_optionsList custom field optionsGETLists custom field options in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_custom_field_optionUpdate custom field optionPATCHUpdates a custom field option: only the fields you send change. Leave out a field to keep its value.

Discovery interview, 5 operations

  • create_discovery_interviewCreate discovery interviewPOSTCreates a discovery interview in Aha! and returns it. Required: name.
  • delete_discovery_interviewDelete discovery interviewDELETEDeletes a discovery interview.
  • get_discovery_interviewGet discovery interviewGETReturns one discovery interview by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_discovery_interviewsList discovery interviewsGETLists discovery interviews in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_discovery_interviewUpdate discovery interviewPATCHUpdates a discovery interview: only the fields you send change. Leave out a field to keep its value.

Discovery study, 5 operations

  • create_discovery_studyCreate discovery studyPOSTCreates a discovery study in Aha! and returns it. Required: name, project_id.
  • delete_discovery_studyDelete discovery studyDELETEDeletes a discovery study.
  • get_discovery_studyGet discovery studyGETReturns one discovery study by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_discovery_studiesList discovery studiesGETLists discovery studies in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_discovery_studyUpdate discovery studyPATCHUpdates a discovery study: only the fields you send change. Leave out a field to keep its value.

Epic, 5 operations

  • create_epicCreate epicPOSTCreates an epic in Aha! and returns it.
  • delete_epicDelete epicDELETEDeletes an epic.
  • get_epicGet epicGETReturns one epic by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_epicsList epicsGETLists epics in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_epicUpdate epicPATCHUpdates an epic: only the fields you send change. List fields (tags, watchers and the like) are merged: an item adds, an item with _destroy: true removes.

Custom field definition, 4 operations

  • create_custom_field_definitionCreate custom field definitionPOSTCreates a custom field definition in Aha! and returns it. Required: name, key, type, record_type.
  • get_custom_field_definitionGet custom field definitionGETReturns one custom field definition by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_custom_field_definitionsList custom field definitionsGETLists custom field definitions in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.
  • update_custom_field_definitionUpdate custom field definitionPATCHUpdates a custom field definition: only the fields you send change. List fields (tags, watchers and the like) are merged: an item adds, an item with _destroy: true removes.

Feature, 4 operations

  • create_featureCreate featurePOSTCreates a feature in Aha! and returns it.
  • delete_featureDelete featureDELETEDeletes a feature.
  • get_featureGet featureGETReturns one feature by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_featuresList featuresGETLists features in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Goal, 4 operations

  • create_goalCreate goalPOSTCreates a goal in Aha! and returns it. Required: project_id.
  • delete_goalDelete goalDELETEDeletes a goal.
  • get_goalGet goalGETReturns one goal by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_goalsList goalsGETLists goals in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Initiative, 4 operations

  • create_initiativeCreate initiativePOSTCreates an initiative in Aha! and returns it. Required: project_id.
  • delete_initiativeDelete initiativeDELETEDeletes an initiative.
  • get_initiativeGet initiativeGETReturns one initiative by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_initiativesList initiativesGETLists initiatives in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Iteration, 4 operations

  • create_iterationCreate iterationPOSTCreates an iteration in Aha! and returns it. Required: project_id.
  • delete_iterationDelete iterationDELETEDeletes an iteration.
  • get_iterationGet iterationGETReturns one iteration by id or reference number with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_iterationsList iterationsGETLists iterations in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Key result, 4 operations

  • create_key_resultCreate key resultPOSTCreates a key result in Aha! and returns it. Required: goal_id.
  • delete_key_resultDelete key resultDELETEDeletes a key result.
  • get_key_resultGet key resultGETReturns one key result by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields). Enterprise+ plans only.
  • list_key_resultsList key resultsGETLists key results in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after. Enterprise+ plans only.

Persona, 4 operations

  • create_personaCreate personaPOSTCreates a persona in Aha! and returns it. Required: project_id.
  • delete_personaDelete personaDELETEDeletes a persona.
  • get_personaGet personaGETReturns one persona by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_personasList personasGETLists personas in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Release, 4 operations

  • create_releaseCreate releasePOSTCreates a release in Aha! and returns it. Required: project_id.
  • delete_releaseDelete releaseDELETEDeletes a release.
  • get_releaseGet releaseGETReturns one release by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_releasesList releasesGETLists releases in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Release phase, 4 operations

  • create_release_phaseCreate release phasePOSTCreates a release phase in Aha! and returns it. Required: type, release_id.
  • delete_release_phaseDelete release phaseDELETEDeletes a release phase.
  • get_release_phaseGet release phaseGETReturns one release phase by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_release_phasesList release phasesGETLists release phases in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Requirement, 4 operations

  • create_requirementCreate requirementPOSTCreates a requirement in Aha! and returns it. Required: feature_id.
  • delete_requirementDelete requirementDELETEDeletes a requirement.
  • get_requirementGet requirementGETReturns one requirement by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_requirementsList requirementsGETLists requirements in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Tag, 4 operations

  • create_tagCreate tagPOSTCreates a tag in Aha! and returns it. Required: name.
  • delete_tagDelete tagDELETEDeletes a tag.
  • get_tagGet tagGETReturns one tag by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_tagsList tagsGETLists tags in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Task, 4 operations

  • create_taskCreate taskPOSTCreates a task in Aha! and returns it. Tasks are Aha! to-dos: assign one with assigned_to and attach it to a record with record_type and record_id.
  • delete_taskDelete taskDELETEDeletes a task.
  • get_taskGet taskGETReturns one task by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_tasksList tasksGETLists tasks in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Project, 3 operations

  • create_projectCreate projectPOSTCreates a workspace in Aha! and returns it. Required: name, reference_prefix.
  • get_projectGet projectGETReturns one workspace by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_projectsList projectsGETLists workspaces in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Application, 2 operations

  • get_applicationGet applicationGETReturns one application by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_applicationsList applicationsGETLists applications in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Business model component, 2 operations

  • get_business_model_componentGet business model componentGETReturns one business model component by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_business_model_componentsList business model componentsGETLists business model components in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Idea, 2 operations

  • get_ideaGet ideaGETReturns one idea by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_ideasList ideasGETLists ideas in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Idea endorsement, 2 operations

  • get_idea_endorsementGet idea endorsementGETReturns one proxy vote by id with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_idea_endorsementsList idea endorsementsGETLists proxy votes in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Idea organization, 2 operations

  • get_idea_organizationGet idea organizationGETReturns one idea organization by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_idea_organizationsList idea organizationsGETLists idea organizations in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Idea portal, 2 operations

  • get_idea_portalGet idea portalGETReturns one idea portal by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_idea_portalsList idea portalsGETLists idea portals in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Idea user, 2 operations

  • get_idea_userGet idea userGETReturns one idea user by id with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields). Personal data of idea portal users (name, email, phone).
  • list_idea_usersList idea usersGETLists idea users in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after. Personal data of idea portal users (name, email, phone).

Portal user, 2 operations

  • get_portal_userGet portal userGETReturns one portal user by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at). Personal data of idea portal users.
  • list_portal_usersList portal usersGETLists portal users in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after. Personal data of idea portal users.

Program increment, 2 operations

  • get_program_incrementGet program incrementGETReturns one program increment by id or reference number with its default fields; ask for other fields, related records or custom fields with fields (for example fields=default,custom_fields).
  • list_program_incrementsList program incrementsGETLists program increments in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Strategy model, 2 operations

  • get_strategy_modelGet strategy modelGETReturns one strategic model by id or reference number with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_strategy_modelsList strategy modelsGETLists strategic models in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Strategy position, 2 operations

  • get_strategy_positionGet strategy positionGETReturns one positioning by id or reference number with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_strategy_positionsList strategy positionsGETLists positioning in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Strategy vision, 2 operations

  • get_strategy_visionGet strategy visionGETReturns one strategy vision by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_strategy_visionsList strategy visionsGETLists strategy visions in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Strategy vision component, 2 operations

  • get_strategy_vision_componentGet strategy vision componentGETReturns one strategy vision component by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).
  • list_strategy_vision_componentsList strategy vision componentsGETLists strategy vision components in the Aha! account, newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

Annotation, 1 operation

  • get_annotationGet annotationGETReturns one annotation by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at).

Automation log, 1 operation

  • list_automation_messagesList automation messagesGETLists the run log of one automation (message, severity, time), newest first. Filter with the filter.* params (objects, AND-combined), sort with sort.asc or sort.desc, page with per_page (max 200) and after.

User, 1 operation

  • get_userGet userGETReturns one user by id with its default fields; ask for other fields or related records with fields (for example fields=default,created_at). Personal data (name, email).

Showing the first 120 of 132 endpoints. The rest are in the product, searchable from the workflow builder and from chat.

Use Aha! from Claude Code, Cursor or Codex

Connect Aha! in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Aha! operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Aha!

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Aha! once

    Add your Aha! connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Aha! integration FAQ

What can you do with the Aha! integration?

LiveContext exposes 132 operations on Aha!, covering automation, automation action, comment and competitor.

Popular integrations

Browse the whole catalog