To avoid redundant third-party notifications, changes to the text editor are delayed by at least five minutes, waiting for five minutes after the most recent change.
Aha! Roadmaps | Integrate with activity webhooks
If you don't see an Aha! Roadmaps integration with your tool of choice, you can use an activity webhook to send workspace or account data to a third-party tool.
Activity webhooks do not send all data for a record when a field is updated. They only send over the fields that were updated.
There are three types of webhook integrations:
Level | User permissions | Plan type | Functionality | |
| Any | Generic HTTP integration | ||
| Any | Activity stream from Aha! Roadmaps to a third-party tool | ||
| Send security-related events from Aha! Roadmaps to a SIEM system |
Click any of the following links to skip ahead:
Enable the integration
You can create activity webhook integrations at either the account- or workspace-level by navigating to Settings āļø Account Integrations or Settings āļø Workspace Integrations, respectively. Administrators with customization privileges can create account-level integrations, and workspace owners can create workspace-level integrations.
At either level, the process is largely the same.
Select Activity webhook from the list of available integrations.
Enter the Hook URL for your webhook.
Select which activity Aha! Roadmaps should send through the activity webhook. At the account level, choose from Workspaces, Record types, and Fields. At the workspace level, choose from Record types, and Fields. Click Add activity to add the activity, and the large X to remove an activity from the list.
Select which users' activity will be transmitted through the webhook. This is an optional step, useful if you only want to send activity related to certain users. Click Add user to add a user's activity to the list, and the large X to remove a user's activity from the list.
Click the Enable checkbox, and add the webhook to your third-party tool to begin sending activity out of your Aha! Roadmaps account.
All activity waits five minutes before posting to the Activity webhook. This is to keep communication concise and avoid excessive messaging when a user is performing multiple edits at once.
Authentication
Activity webhooks coming from your Aha! account are encrypted via SSL. This can be used to verify the authenticity of any requests.
Troubleshoot
Having trouble with your activity webhook? Click Log messages below the webhook's integration settings to open the integration's audit log and use the log messages to diagnose and fix the problem.
JSON fields
The audit webhook provides a live stream of events occuring within Aha! to a service that you create and run yourself. This allows custom logic to be implemented by your team to extend Aha!'s capabilities, or provide further auditing to meet regulatory concerns.
Each audit webhook contains a single JSON object, which has the following fields:
/event
This is always audit.
/audit/id
This is the numeric, 64-bit ID of the audit record. It will be presented as a string.
/audit/audit_action
This is the action which was performed. It will be one of create, update, or destroy.
/audit/created_at
This is the timestamp at which the audit was created.
/audit/interesting
This field is used internally in the Aha! notification system.
/audit/user/id
This is the numeric, 64-bit ID of the user or integration who performed this action, cast into a string.
/audit/user/name
This is the name of the user who performed this action. This may also be the name of the integration which performed the action.
/audit/user/email
This is the email address of the user who performed this action
/audit/user/created_at
This is the date which the user in question joined your Aha! account.
/audit/user/updated_at
This is the date when the user's information was last changed. This field is updated frequently for cache-breaking purposes.
/audit/contributors
This is an array of
user
records, similar to the/audit/user
field. It represents all of the users whose changes were collated into this audit, for example, if multiple users were collaboratively editing a record at the same time. See the Collation section, below this list of fields.
/audit/auditable_type
This is the type of record which is being changed. Common values are feature, release, requirement, strategic_imperative (goal), strategic_initiative (initiative), attachment, comment, and note. Objects of every kind in your Aha! account will be represented by these types.
/audit/auditable_id
This is the numeric, 64-bit ID of the record being changed. It will be formatted as string.
/audit/associated_type
For some records, such as comments or note records (which hold long-form text descriptions), the auditable id itself is not helpful. The associated record is the record to which to auditable record is attached. For instance, a comment on an idea will result in an audit with an Auditable type of Comment and an Associated type of Idea.
This field is nullable.
/audit/associated_id
This is the numeric, 64-bit ID of the associated record record. It will be formatted as string.
This field is nullable.
/audit/changes
The changes array collects all of the changes made for this and collated audits.
/audit/changes[0]/field_name
The field_name parameter indicates the name of the field that was changed.
/audit/changes[0]/value
The value indicates the new value as a result of these changes.
Collation
Your Aha! account is a highly collaborative tool, allowing many users to make updates to a single record at the same time. In cases of long-form text fields, multiple users can even edit the same field at the same time. As a result, the audit records generated by editing a record are collated together after a short interval. This collation process prevents a very large amount of useless and hard to understand audits.
When audit collation happens, the changes for a record will be collapsed into the changes
block, and the users whose changes have been merged in will be added to the contributors
field.
The audit integration will receive all audits, even those which are later collated into other records.
If you get stuck, please reach out to our Customer Success team. Our team is made up entirely of product experts and responds fast.