Keeping your users in the loop is essential for building trust and driving product adoption. By integrating our changelog, roadmap, and feedback tools, you can create a seamless loop from a user's initial idea to the final feature release announcement.
The Feedback and Release Lifecycle
Our system allows you to manage the entire lifecycle of a feature. Here is how the different components work together to keep your users engaged:
flowchart LR
A["Customer Idea"] --> B["Roadmap Item"]
B --> C["Changelog Release"]
C --> D["Push Notification"]1. Collecting Customer Ideas
Start by gathering feature requests and feedback directly from your users. This ensures you are building what your customers actually need.
- 1
Load configuration
Retrieve your feedback board settings using
GET /tasks/ideas/config. This tells your frontend how to display the submission form and what fields are required. - 2
Submit the idea
When a user submits a feature request, send the data via
POST /tasks/ideas.
Always acknowledge user submissions in your UI! A simple "Thanks for your feedback" message encourages more engagement and makes users feel heard.
2. Managing the Public Roadmap
Once an idea is approved, it moves to your public roadmap. Users can view upcoming features and vote on what they want to see most.
Fetch the Roadmap: Use
GET /tasks/roadmapto display upcoming items on your website or in-app widget.Fetch Public Statuses: Use
GET /tasks/statusesto retrieve the available statuses for your roadmap items.Upvote an Item: Call
POST /tasks/items/{item_id}/votewhen a user clicks the upvote button.Remove a Vote: If a user changes their mind, call
DELETE /tasks/items/{item_id}/voteto remove their vote.
3. Publishing Changelogs
When a feature is ready, it's time to publish a changelog. You can display a complete history of your product updates or highlight specific versions.
Fetching Changelog Data
To build a "What's New" page or an in-app release notes widget, you can retrieve your published changelogs using the following endpoints:
| Action | Endpoint | Description |
|---|---|---|
| List all updates | GET /tasks/changelogs | Returns a paginated list of all published changelog entries. |
| Get specific version | GET /tasks/changelogs/version/{version_id} | Retrieves the release notes for a specific version tag (e.g., v2.1.0). |
// Example: Fetching a specific changelog version for an in-app modal
const response = await fetch('https://api.yourdomain.com/tasks/changelogs/version/v2.1.0');
const changelog = await response.json();
console.log(`Version: ${changelog.version}`);
console.log(`Notes: ${changelog.body}`);4. Notifying Subscribers
Don't wait for users to stumble upon your changelog. Proactively notify them about new releases using push notifications.
Users must first opt-in to receive updates. You can subscribe them using one of our push endpoints:
Global event subscription:
POST /v1/event/push-notification-subscribeOrganization-level subscription:
POST /v1/organizations/{organization_id}/push/subscribe
Ensure you have explicit consent from users before subscribing them to push notifications to comply with privacy regulations like GDPR and CCPA.
Frequently Asked Questions
Can users vote on ideas before they hit the roadmap?
Currently, voting is supported directly on roadmap items. Ideas must be reviewed and promoted to the roadmap before they can accumulate public votes.
How should I format my changelog content?
We recommend using standard Markdown for your changelog bodies. This allows you to easily render rich formatting, lists, and code blocks in your UI when fetching the data.