Empowering your users to shape your product's future is a great way to build loyalty and ensure you are building the right features. The roadmap and voting system allows you to collect customer ideas, display a public roadmap, and track feature popularity through user votes.
This guide will walk you through integrating roadmap voting and idea management into your application.
How the feedback loop works
Before diving into the integration, here is a quick look at how ideas flow from your users into your product's development cycle:
flowchart TD
A["Customer Submits Idea"] --> B["Review & Configuration"]
B --> C["Public Roadmap Item"]
C --> D["Users Vote on Item"]
D --> E["Feature Developed"]
E --> F["Published to Changelog"]Managing Roadmap Items
To display a roadmap to your users, you first need to fetch the items that have been made public.
Fetching the public roadmap
Retrieve all visible roadmap items to display them on your frontend. This allows users to see what is planned, in progress, or completed.
curl -X GET "https://api.yourdomain.com/tasks/roadmap"
-H "Authorization: Bearer YOUR_API_TOKEN"We recommend caching the roadmap response on your server for a few minutes to reduce API calls and improve load times for your users.
Fetching public statuses
To accurately display the current state of each roadmap item, you can fetch the list of available public statuses.
curl -X GET "https://api.yourdomain.com/tasks/statuses"
-H "Authorization: Bearer YOUR_API_TOKEN"The Voting Process
Allowing users to upvote features helps your product team prioritize what to build next based on actual demand.
- 1
Cast a vote
When a user clicks the "Upvote" button on a roadmap item, send a
POSTrequest to register their vote. You will need the specificitem_id.curl -X POST "https://api.yourdomain.com/tasks/items/{item_id}/vote" -H "Authorization: Bearer YOUR_API_TOKEN" - 2
Remove a vote
If a user changes their mind or accidentally votes for an item, they should be able to retract it. Send a
DELETErequest to remove their vote.curl -X DELETE "https://api.yourdomain.com/tasks/items/{item_id}/vote" -H "Authorization: Bearer YOUR_API_TOKEN"
A single user can only have one active vote per roadmap item. Attempting to vote multiple times for the same item_id will return an error.
Gathering Customer Ideas
Sometimes, the feature a user wants isn't on the roadmap yet. You can allow them to submit their own ideas directly.
Get idea configuration: First, fetch your workspace's idea configuration to ensure you are displaying the correct form fields and adhering to your custom settings.
curl -X GET "https://api.yourdomain.com/tasks/ideas/config"Submit the idea: Once the user fills out your form, submit the idea to your workspace.
curl -X POST "https://api.yourdomain.com/tasks/ideas" -H "Content-Type: application/json" -d '{"title": "Dark Mode", "description": "Please add a dark theme!"}'
Endpoint Reference
Here is a quick summary of the endpoints available for managing your roadmap and user feedback:
| Action | Method | Endpoint |
|---|---|---|
| Get public roadmap | GET | /tasks/roadmap |
| Get public statuses | GET | /tasks/statuses |
| Vote for item | POST | /tasks/items/{item_id}/vote |
| Remove vote | DELETE | /tasks/items/{item_id}/vote |
| Submit customer idea | POST | /tasks/ideas |
| Get ideas config | GET | /tasks/ideas/config |
| Get changelogs | GET | /tasks/changelogs |
| Get changelog by version | GET | /tasks/changelogs/version/{version_id} |
Frequently Asked Questions
Can users vote on ideas before they are on the roadmap?
No, voting is restricted to official roadmap items. Customer ideas must first be reviewed and promoted to the public roadmap by your team before they can receive votes.
How do I notify users when a feature they voted for is released?
When a roadmap item is completed, you can publish a Changelog. Users who voted on the associated roadmap item can be notified via the Push Notifications API.
Next Steps
Once your roadmap is live and gathering votes, you can keep your users informed about your progress by publishing changelogs.