This article discusses functionality that is included in the Aha! Ideas Advanced plan. Please contact us if you would like a live demo or want to try using it in your account.
This article is part of a series on widgets:
Aha! Ideas | Install in-app feedback widgets in your web application (Advanced plan)
In-app feedback widgets help you collect feedback from users in your application and gather that feedback in your Aha! Ideas account.
The community feedback widget collects feedback from your users in threaded conversations. You can manage multiple feedback widgets to get separate feedback on different pages in your application, and install separate feedback widgets on multiple applications. Application users can leave feedback or interact with you and each other in realtime.
The ideas submission widget collects feedback from your users as ideas, which it then submits using your portal's idea submission form. Your users never have to leave your application to submit ideas, and you can review their feedback (along with ideas you collect through other channels) in one central location.
The polls widget enables a poll in your application. Users do not have to leave your product or sign in to an ideas portal to respond — they can complete the poll in your application, then continue using your app.
You can use both types of widget, choose the page (or pages!) where you would like each widget to appear, and activate or deactivate the widgets yourself, without relying on a developer.
The widget code snippet installation is the only part of the process that will require help from your developers, since it requires adding some custom code — but the code only needs to be installed once. Your Aha! Ideas or Aha! Roadmaps page gives you the code snippet you need to pass on to your developers.
Click any of the following links to skip ahead:
Best practices
Before you get started with the installation, there are a few things to keep in mind.
The widget code snippet supports any widget you create in Aha! Ideas or Aha! Roadmaps, and the code only needs to be installed once.
You will likely require a developer's help to install the in-app feedback widget on your application. But do not worry! We will give you all the tools you need to help them.
Each widget can be customized in Aha! Ideas or Aha! Roadmaps with the URLs that determine where widget should be displayed in your application. These are called Target URLs, and we will discuss how to configure them later in the article.
Requirements
You need to install the widget in a web application. The feedback widget requires JavaScript to be enabled by users.
If you want to gather feedback over multiple applications, you can create multiple applications in Aha! Ideas or Aha! Roadmaps, and separate widgets for each application.
Your users will need to be logged into your website to leave feedback or to submit ideas. This is important in order to mitigate the risk of spam or inappropriate feedback.
Recommendations
If you are using the community feedback widget, you should display your users' real names whenever possible and appropriate. This encourages users to post feedback that they are happy to be associated with.
Either feedback widget will display when someone views your web application on a mobile device, but the widgets are not optimized for a mobile experience. Because of this, we recommend that when developers install the widget code snippet in your application, they only enable it for desktop users.
We recommend installing the feedback widget securely any time you are using it to collect feedback. We will discuss how to do this later in the article.
You will likely require a developer's help to install the in-app feedback widget on your application. But do not worry! We will give you all the tools you need to help them.
Create a community feedback widget
To install a feedback widget in your web application, first create a feedback widget in your Aha! Ideas account. Navigate to Research In-app feedback to get started. You will need to be a contributor or workspace owner to navigate to and create feedback widget records.
Click + on the top-left corner of your screen to Add a new feedback widget. Give it a Title, Target URL where you would like your widget to appear, and optional Subtitle, Application, and branded Color, then click Add widget to create the feedback widget.
When you first add it, your widget is Disabled by default, so that you can customize it. Then, Activate it to preview your users' experience interacting with you and each other..
Create an ideas submission widget
Ideas submission widgets start with an ideas portal. So first, open the ideas portal where you would like to receive ideas submitted through the widget, and then open the portal's settings. You will need to be an administrator with customizations permissions to configure an ideas portal.
From your account settings, click the name of the ideas portal you wish to edit.
From Ideas Overview, click the pencil icon by the name of the ideas portal you wish to edit.
You can add ideas submission widgets to any public or submit-only ideas portal that uses the new (October 2020) portal design. If the ideas submission widget is not compatible with your portal, you can always create another portal for the same workspace. You will still be able to review all ideas from all portals in that same workspace.
In your ideas portal settings, navigate to Widgets then click + Add widget. Give it a Title, Target URL(s) where you would like your widget to appear, and optional Subtitle, Application, and branded Color, then click Add widget to create the feedback widget.
When you first add it, your widget is Disabled by default, so that you can customize it and preview your users' idea submission experience.
Create a polls widget
You can create a polls widget from any poll you have created in your Aha! Ideas account. A poll does not have to be published to your ideas portal to be displayed in in your application, and participants do not have to be users of your ideas portal.
Once you have created your poll, navigate to its Widget tab. You will need to be an administrator with customizations permissions to display a polls widget within your application.
From the Widget tab of your poll, add the Target URLs where you want your poll to appear in your application.
In the Branding section, add a Header and select a Color and an Accent Color.
Select a Position for your widget.
Select Lower left or Lower right to add a thumbs up and thumbs down icon to the bottom of the page. Users will click the icon to access your poll and participate.
Select Side left or Side right to add the widget to the side of your page. When you select a side position, you can add custom text for the button that users will click to access your poll. By default, the button will say Feedback.
Select Custom to create a custom trigger that will open the widget.
Click Preview to see what your widget will look like in your application.
Use the Active toggle to enable the widget in your application.
Once the polls widget is active, users will be able to respond to your poll. Poll participants will not be able to see poll results. If a participant is not a user of your ideas portal, your software will create a Contact record for them along with their poll response. Once a participant answers your poll, the poll will disappear and any other widgets on the page will reappear.
You can view the poll's results from its Results tab.
Install the feedback widget
We will first talk about how to install the feedback widget on your site. But to make this installation secure, be sure to read the following section of this article on using the feedback widget securely in a production environment.
In the upper-left corner of the community feedback widgets list, or in the ideas submission widget details page, click the Widget code button. You will pass the JavaScript code snippet here to a developer (if a developer is helping you install this widget in your own application) once.
The JavaScript can be added to the very end of the page <body> element so that it runs after the rest of the page has loaded. This way, the feedback widget will have no negative impact on page load times.
The developer should add the code snippet to your application in such a way that it executes on every page — or at least every page that you might gather feedback on. That way, you will be able to customize each widget in Aha! Roadmaps or Aha! Ideas yourself and specify the pages (Target URLs) of your application where it should be visible.
Either feedback widget will display when someone views your web application on a mobile device, but the widgets are not optimized for a mobile experience. Because of this, we recommend that when developers install the widget code snippet in your application, they only enable it for desktop users.
The Widget code snippet you see will look something like this:
<script>
(function(w, d, s, o, f, js, fjs) {
w['aha-widget'] = o;w[o] = w[o] || function() {(w[o].q = w[o].q || []).push(arguments);};
js = d.createElement(s);fjs = d.getElementsByTagName(s)[0];js.id = o;js.src = f;js.async = 1;fjs.parentNode.insertBefore(js, fjs);
})(window,document,'script','aha','https://cdn.aha.io:443/assets/feedback/feedback.js');
aha('initialize', {
account: 'fredwin-technologies',
applicationId: '6878652530101593449',
user: {
id: 'UNIQUE_USER_IDENTIFICATION',
name: 'USER_NAME',
email: 'USER_EMAIL_ADDRESS',
},
});
</script>
Your developer will need to modify this Code snippet in three ways:
UNIQUE_USER_IDENTIFICATION: You should replace this value with a persistent unique identifier for the user who is viewing the current page. The identifier should not be the user's name or email address. A database ID for the user is usually best. That way, if the user's name or email address changes, they will still be associated with the feedback that they have left. The id field will accept any string value with no limitation on allowed characters.
USER_NAME: You should replace this value with the name of the user who is viewing the current page. It will be displayed in the community feedback widget user interface on your site so it is clear who has left the feedback.
USER_EMAIL_ADDRESS:
Replace with the email address of the user who is viewing the current page. It is used to match the person with an existing contact or to create a contact if one does not exist. It is not shown in the widget.
In the future it may be used to send the user an email notification when there is a response to their comment in a feedback conversation. It will not be used for any other purpose.
Once you have installed the Code snippet successfully, the page in your web application should load without any visible change and without any error messages in the developer console.
Add Target URLs
Now that you have installed the widget code in your web application, you can use Target URLs to display feedback widgets on specific pages in your application. To do this:
For community feedback widgets, navigate to the feedback widget record, then select the Customization tab.
For ideas submission widgets, open the widget details page in your ideas portal settings, then scroll to the Visibility tab.
For the polls widget, navigate to a poll's Widget tab and add Target URLs in the Visibility section.
In the Target URLs field, you will list the pages in your application that will show the feedback widget.
So you do not have to list every page in your application, you can use asterisks *
as wildcards in any location (or multiple locations) in a URL:
You can use wildcards to display the feedback widget on every page in your web application. The Target URL here, https://www.example.com/*, for example, will display the feedback widget on every page.
You can use wildcards to show the feedback widget on all like pages. For example, if your URLs contain portions that are specific to a record, like record IDs, then the Target URL here, https://www.example.com/records/*/page would display the feedback widget on every page that follows this structure.
You can use wildcards to display the feedback widget on every page in your application where the widget code is installed. For example, you may want the ideas submission widget to be available everywhere (you likely want to reserve the community feedback widget for more focused feedback). Enter * for the widget to display on every available page.
You can use the Active toggle to select whether the feedback widget should display or be hidden on your site.
Install a custom trigger
On every page included in your Target URLs, people can access your widget using a standard button in the lower right or left corners of their screen. You can customize this to create custom triggers that open the widget. For example, you could add a link in your help menu to launch an idea submission widget, or a chat icon next to a new feature to open a specific community feedback widget.
To create a custom trigger for your widgets:
Navigate to the Position field in your widget settings.
For in-app feedback widgets, this is on the Customizations tab of your settings.
For idea submission widgets, this is in your ideas portal settings under Widgets Design.
Change the Position field to Custom.
Once you change the Position to Custom, you will see a sample script that will help your developers create a custom trigger for your widget, which includes your widget's unique ID. Share this sample script with your developers and discuss with them how you would like your custom button or link to work.
It is a good idea to set your widget as Active so that you can test your new button.
If a widget has a Custom position, it will not display the standard button, and it will not use your Target URLs. But by using custom triggers, you can have as many widgets on a page as you would like, and if you have another active widget that does use a standard Position, that widget will still display the standard button.
Add a JWT secret to make your installation secure
Before you Activate your installed widget, you should make sure it is secure. Without using a JWT secret, unintended people may be able to gain access to your feedback widgets and see feedback that is shared. So these next steps are important.
The feedback widget code is associated with a secret. This secret can be used to secure the communication between your web application and Aha! Ideas or Aha! Roadmaps. The secret must be carefully protected and must not be in the front-end JavaScript code of your web application. To use the secret effectively you will need server-side code in your application to construct a JSON Web Token (JWT). This JWT is then used in the front-end JavaScript code to pass the user identity to Aha! Ideas.
To use the JWT, the Widget code should be modified to look like this:
aha('initialize', {
account: 'ACCOUNT_DOMAIN',
jwt: 'JWT_VALUE',
});
You should replace the JWT_VALUE with the value of the JWT which was generated on the server side.
For development environments where web pages are rendered by the server, this can all be done inside the page rendering on the server. For example, this code for Ruby on Rails can be used directly in an ERB view:
<%= javascript_tag do %>
aha('initialize', {
account: 'reallybigaha',
applicationId: '6930351653394748499',
jwt: <%= raw JWT.encode(
{
user: {
id: 'UNIQUE_USER_IDENTIFICATION',
name: 'USER_NAME',
email: 'USER_EMAIL_ADDRESS',
},
iat: Time.now.to_i
},
'JWT_SECRET', 'HS256'
).to_s.to_json %>
});
<% end %>
The iat
field must contain the current time as an integer in seconds since January 1, 1970.
This website provides links to many different JWT implementations for different programming environments.
Once you have successfully configured your JWT secret, click the Widget code button in Aha! Ideas or Aha! Roadmaps, place it in your code to sign it, and check the Require JWT Secret checkbox.
Install the feedback widget on single-page applications
Single-page applications (and some other techniques like Turbolinks) navigate from page to page without reloading the JavaScript context. In these cases, the widget should be unloaded from the page before making the page transition, and then initialized again once the new page content is loaded. After it is initialized each time, the widget will read window.location.href
to get the URL and will determine again whether the trigger button should be displayed for that URL.
To do this, run the feedback widget snippet (the <script>
tag used to load the feedback.js
file from Aha! servers) dynamically whenever the specific page(s) are loaded in your application. So, instead of adding the <script>
tag to the raw HTML, execute the code in that script whenever you open the specific page(s).
The next step is to call the destroy
handler, and reset window.aha
, whenever the page is unloaded. Your code might look something like this:
function loadFeedbackWidget() {
(function(w, d, s, o, f, js, fjs) {
w['aha-widget'] = o;w[o] = w[o] || function() {(w[o].q = w[o].q || []).push(arguments);};
js = d.createElement(s);fjs = d.getElementsByTagName(s)[0];js.id = o;js.src = f;js.async = 1;fjs.parentNode.insertBefore(js, fjs);
})(window,document,'script','aha','https://cdn.aha.io:443/assets/feedback/feedback.js');
aha('initialize', {
account: 'crowe2',
applicationId: '1234',
user: {
// ...
},
});
}
function unloadFeedbackWidget() {
aha('destroy');
delete window.aha
}
$(document).on('page:change', unloadFeedbackWidget);
This will allow an Aha! user to control where a widget shows in the application, using these pseudo-URLs as the widget's Target URLs. Make sure to share the pseudo-URLs that you have implemented with the Aha! Ideas or Aha! Roadmaps user.
An existing widget can be unloaded by calling: aha('destroy')
.
Install the feedback widget on multiple applications
You may have multiple applications where you would like to install the in-app feedback widget. If so, you will want to ensure that users in one application cannot gain access to feedback from another application.
To do this, you can create separate applications in Aha! Ideas for each installation.
Click Widget code to open the widget code window.
Click the Application dropdown, then Create a new application.
Click Application name to give your application a unique name.
Make sure to enable JWT and generate a secret key for each application by checking the box beside Require JWT secret key.
Finally, install the application's code snippet in your desired product, using the unique application id and secret key.
When a user in your Aha! Ideas or Aha! Roadmaps account creates feedback widgets, they can then choose which application it should display in.
Troubleshoot your installation
If a widget is not appearing as expected in your application, please check the following in Aha! Ideas or Aha! Roadmaps:
On the community feedback widget's Customization tab, or the ideas submission widget's Visibility card:
Make sure it is Active.
Confirm the Target URLs (e.g. https://*.example.io/dashboard/*). Compare the Target URLs to an actual example URL where the widget should be displayed (e.g. https://customer.example.io/dashboard/123).
If you have created multiple Applications, confirm that the correct one is selected.
In the Widget code modal:
Check the Installation status field to see if any successful requests have been received from your installation.
In your application, make sure that the Widget code is installed on the pages with the Target URLs.
Go to a page where the in-app feedback widget is expected to display.
Open the browser developer tools.
Check the network tab:
Is there a request for
feedback.js
that looks likehttps://cdn.aha.io/assets/feedback/feedback.js
?If yes, look at the feedback request and check the response for an error.
If no, the Widget code has not been successfully installed for this page.
If you get stuck, please reach out to our Customer Success team. Our team is made up entirely of product experts and responds fast.
- Documents
- Share documents
- Guest access
- Template library
- Notes
- AI writing assistant
- Introduction to whiteboards
- The whiteboard toolbar
- Add and edit whiteboard content
- Advanced whiteboard shapes
- Add media to whiteboards
- Collaborate on whiteboards
- Convert whiteboard content to Aha! records
- View Aha! records on whiteboards
- Create a whiteboard presentation
- How to create a custom whiteboard template
- How to build a roadmap in five steps
- How to visualize linked dependency statuses at scale
- How to import your backlog from Jira
- How to show the strategic progress at multiple levels
- How to identify schedule risks with calculation columns
- How to visualize cross-team capabilities with custom tables (Enterprise+)
- How to add a custom field
- How to pull work from Aha! Roadmaps into Aha! Develop
- How to share a report, roadmap, or view
- How to identify and prioritize high-value ideas
- How to import a Jira backlog into your Aha! account as ideas
- How to edit a status workflow
- How to build your product strategy
- How to host a collaborative brainstorming session
- Best practices for stakeholder alignment: Set product strategy
- Best practices for stakeholder alignment: Review customer feedback
- Best practices for stakeholder alignment: Prioritize the best ideas
- Best practices for stakeholder alignment: Create your product roadmap
- Best practices for stakeholder alignment: Manage product launches
- Best practices for stakeholder alignment: Communicate roadmap progress
- Best practices for linking your work to strategy
- Best practices for tracking OKRs
- Best practices for configuring Aha! to support SAFe®
- Best practices for configuring Aha! to support the Pragmatic Framework
- Best practices for tracking product development risks
- Best practices for managing cross-functional requests
- Best practices for setting product strategy
- Best practices for capturing and prioritizing customer ideas
- Best practices for launching your ideas portal
- Best practices for managing product platforms
- Best practices for managing solution offerings
- Best practices for managing product components
- Best practices for managing complex product bundles
- Best practices for creating a product information hub
- Best practices for using documents to collaborate with stakeholders
- Enterprise+ plan features
- Advanced custom layouts (Enterprise+)
- Automated scorecard metrics (Enterprise+)
- Automation (Enterprise+)
- Back up your account (Enterprise+)
- Configure team capacity planning (Enterprise+)
- Custom roles (Enterprise+)
- Custom tables (Enterprise+)
- Custom worksheets (Enterprise+)
- Enable IP address based access control (Enterprise+)
- Estimate work for capacity planning (Enterprise+)
- Getting started with capacity planning (Enterprise+)
- Integrate with security webhooks (Enterprise+)
- Link custom tables to each other (Enterprise+)
- Monitor your account activity (Enterprise+)
- Reference Aha! Roadmaps fields in custom worksheet equations (Enterprise+)
- Resolve capacity conflicts (Enterprise+)
- Team capacity report (Enterprise+)
- Work requests (Enterprise+)
- Workspace templates (Enterprise+)
- Workspaces and workspace lines
- Workspace types
- Differences between workspace types
- Explore a product workspace in your account
- Explore an IT workspace in your account
- Explore a project workspace in your account
- Explore a services workspace in your account
- Explore a business operations workspace in your account
- Explore a marketing workspace in your account
- Create a single-workspace hierarchy
- Create a multi-workspace hierarchy
- Create a portfolio hierarchy
- Workspace templates (Enterprise+)
- Archive or delete a workspace or workspace line
- How to define your product workspace
- Move workspaces to a new workspace line
- Duplicate workspace and workspace line prefix error
- Getting started with capacity planning (Enterprise+)
- Individual capacity planning
- Configure team capacity planning (Enterprise+)
- Estimate work for capacity planning (Enterprise+)
- Individuals capacity report
- Team capacity report (Enterprise+)
- Resolve capacity conflicts (Enterprise+)
- Troubleshoot missing records on the team capacity report (Enterprise+)
- Introduction to releases
- Release dependencies
- Release templates
- Release retrospective report
- Calendars
- Parking lots
- How the release start date is determined
- Move records from one workspace to another
- Portfolio releases
- Roll-up releases
- Release dates and feature capacity
- Draft release notes with AI
- Create a release
- Add features, phases, and milestones to a release
- Calculate release and release phase dates
- Customize the Gantt view
- Group features by epic on a Gantt chart
- Release and epic view options
- Track Gantt chart change history
- Copy an existing release
- Complete a release
- Share a release
- Introduction to ideas
- Ideas portal settings
- Ideas prioritization page
- Emailed ideas
- Submit-only ideas portal
- Private ideas portal
- Public ideas portal
- Ideas overview page
- Ideas chart page
- Create a central workspace to manage all ideas
- How promoted record status drives idea status
- Carry over custom field values from ideas to other record types
- "Filter by status" displays duplicate statuses on ideas portal
- Create one ideas portal for all of your workspaces
- Advanced custom portal design
- Import ideas and portal users
- Custom fields for ideas
- Portal notification emails
- Troubleshoot portal notification emails
- Ideas portal weekly summary email
- Manage portal spam
- Manage submitted ideas
- Customize ideas
- Promote ideas directly to your roadmap
- Merge ideas
- Pin ideas
- Respond publicly to users
- Report on trending ideas
- Ideas portal users
- Invite portal users
- Manage portal users
- Aha! Ideas Advanced plan features
- Portal SSO | SAML 2.0
- Portal SSO | OpenID Connect
- Portal SSO | JSON Web Token
- Portal SSO | Google Cloud Identity
- Portal SSO | OneLogin
- Portal SSO | Entra ID
- Portal SSO | Microsoft Active Directory Federation Services (ADFS)
- Portal SSO | Salesforce
- Portal SSO | Link portal users to organizations (Advanced plan)
- Portal SSO | Troubleshoot single sign-on issues
- Introduction to features
- Introduction to epics
- Introduction to requirements
- Tips for managing and prioritizing features
- User story maps
- Workflow board
- Feature scores
- Features prioritization page
- Mockups
- Copy, move, or bulk edit features
- When to use initiatives vs. epics
- Convert features to other record types
- Carry custom field values from requirements to features
- Estimate effort using custom scorecards
- Add feature start and due dates
- Release dates and feature capacity
- Parking lots
- Create templates for features and requirements
- Should I put bugs on my product roadmap?
- Customize feature cards
- Use epics across releases and workspaces
- Move records from one workspace to another
- Introduction to analytics
- Dashboards
- Reports overview
- Step-by-step examples: List reports, pivot tables, and custom roadmaps
- Filter your reports and roadmaps
- List report
- Perform calculations on data in list reports
- Pivot table
- Charts
- Product value report
- Individuals capacity report
- Team capacity report (Enterprise+)
- Resolve capacity conflicts (Enterprise+)
- Troubleshoot missing records on the team capacity report (Enterprise+)
- Dependency report
- Hierarchy report
- Diagram report
- Bulk edit records
- Report on workspace documents
- Report on a record's time in status
- Knowledge menu
- Documents
- Control workspace document access
- Frameworks
- Meetings
- Share documents
- Guest access
- AI writing assistant
- Template library
- Introduction to whiteboards
- The whiteboard toolbar
- Add and edit whiteboard content
- Advanced whiteboard shapes
- Add media to whiteboards
- Collaborate on whiteboards
- Aha! shapes
- Convert whiteboard content to Aha! records
- View Aha! records on whiteboards
- Create dependencies from a whiteboard
- Create Jira issues from your whiteboard
- Add Jira records to whiteboards
- Add ADO work items to whiteboards
- Create a whiteboard presentation
- Files
- Import documents from Confluence
- Import Microsoft Word documents
- Text editor
- Text editor toolbar
- Style text
- Add and modify tables
- Track history and restore historical versions
- Comment and collaborate on text
- Embed a whiteboard
- Add and comment on media
- Notes
- Access notes
- Create notes
- Note templates
- Organize notes
- Add media to notes
- Add Aha! views and whiteboards to notes
- Add header images to documents and folders
- Lock note editing
- Share and export your notes
- Knowledge base accessibility best practices
- Report on knowledge bases (Aha! Knowledge Advanced)
- Meta descriptions (Aha! Knowledge Advanced)
- Custom knowledge base URLs (Aha! Knowledge Advanced)
- Knowledge base visitor experience (Aha! Knowledge Advanced)
- Custom knowledge base domains (Aha! Knowledge Advanced)
- Knowledge base access (Aha! Knowledge Advanced)
- Knowledge base documents (Aha! Knowledge Advanced)
- Knowledge base homepage (Aha! Knowledge Advanced)
- Knowledge base branding (Aha! Knowledge Advanced)
- Knowledge base settings (Aha! Knowledge Advanced)
- Publishing overview (Aha! Knowledge Advanced)
- AI-powered knowledge base search (Aha! Knowledge Advanced)
- Introduction to presentations
- Create and manage presentation themes
- Manage presentation security
- Edit your presentation
- Annotate presentation slides
- Add, duplicate, or remove slides
- Adjust presentation slide images
- Adjust tables in presentation slides
- Add headers and footers to presentation slides
- Deliver your Aha! presentation
- Aha! views in presentation slides
- Apply a theme to an Aha! presentation
- Publish a presentation
- Publish a presentation to a secure webpage
- Use web controls for Aha! presentations
- Publish an Aha! presentation to a PDF
- Slide transitions in Aha! presentations
- Interactive views in Aha! presentations
- Aha! view update frequency in presentations
- Custom branding in presentations
- Embed your presentation in another webpage
- Manage presentation access
- Add collaborators to a presentation
- Change presentation ownership
- Web presentation security
- Statuses and workflows
- Feature types
- Record description templates
- Workflow approvals
- Scorecard equations
- Automated scorecard metrics (Enterprise+)
- Custom fields
- Merge custom fields together
- Convert custom fields to different field types
- Custom layouts
- Advanced custom layouts (Enterprise+)
- Manage at-risk work
- Report on at-risk work
- Custom worksheets (Enterprise+)
- Custom equation functions and operators
- Filter arrays with logical operators
- Introduction to advanced equations
- Field identifiers for advanced equations
- Reference Aha! Roadmaps fields in custom worksheet equations (Enterprise+)
- Custom tables (Enterprise+)
- Link custom tables to each other (Enterprise+)
- Use custom tables to manage strategic opportunities
- Track special customer information
- Connect with Aha! Develop (Advanced plan)
- Report on Aha! Develop records in Aha! Roadmaps
- Aha! Develop connection overview
- Aha! Develop connection best practices
- Aha! Develop connection reporting
- Aha! Develop connection account configuration
- Aha! Develop connection workflows
- Aha! Develop connection capacity planning
- Team status mapping
- Unified backlog management
- Enterprise+ functionality in the Aha! Develop connection
- Record types in the Aha! Develop connection
- User permissions in the Aha! Develop connection
- Account SSO | SAML 2.0
- Account SSO | Google Cloud Identity
- Account SSO | Okta
- Account SSO | OneLogin
- Account SSO | Microsoft Entra ID
- Account SSO | Microsoft Active Directory Federation Services (ADFS)
- Account SSO | Bitium
- Portal SSO | OneLogin
- Portal SSO | Entra ID
- Portal SSO | Microsoft Active Directory Federation Services (ADFS)
- Portal SSO | Salesforce
- Portal SSO | Link portal users to organizations (Advanced plan)
- Knowledge base SSO | SAML 2.0 (Aha! Knowledge Advanced plan)
- Knowledge base SSO | OpenID Connect (Aha! Knowledge Advanced)
- Knowledge base SSO | JSON Web Token (Aha! Knowledge Advanced)
- Knowledge base SSO | Google Cloud Identity (Aha! Knowledge Advanced)
- Knowledge base SSO | OneLogin (Aha! Knowledge Advanced)
- Knowledge base SSO | Entra ID (Aha! Knowledge Advanced)
- Knowledge base SSO | Microsoft Active Directory Federation Services (ADFS) (Aha! Knowledge Advanced)
- Knowledge base SSO | Salesforce (Aha! Knowledge Advanced)
- Troubleshoot single sign-on issues
- Integrate with your calendar application
- Create multiple development tool integrations for a single workspace
- Manage your integrations
- How to think about integrating Aha! Roadmaps with your development tool
- Import data from your development system
- Create an integration template
- Map fields between Aha! Roadmaps and your development system
- Configure links between integrated records
- View integration log messages
- How to diagnose development tool integration log messages
- Convert an integration from 1.0 to 2.0
- Move records with Jira or Rally
- Link records in Aha! Roadmaps with existing records in another system
- Send changes and accept imports from another system
- Resync Aha! Roadmaps with your development tool
- Move a linked record to another workspace
- Map a single Aha! Roadmaps record type to multiple development system record types
- Integrate a single workspace with multiple projects from the same development tool
- Send records in bulk to integrated tools
- Import error: no valid relationship link
- Integrate one workspace with multiple third-party systems
- Allow list IP addresses for on-premises development tools
- Manually send Aha! Roadmaps records to development tools
- Integrate with Azure DevOps
- Recommended Azure DevOps mappings
- Sync sprints with Azure DevOps
- Azure DevOps Services Error: "Configuration error for 'installed': getaddrinfo: Name or service not known"
- Integrate with Azure DevOps Services or Azure DevOps Server (version 1.0)
- Use the Azure DevOps integration through a web proxy
- Integration guides