Make Integration
Connect ProductBridge to 2,000+ apps using Make (formerly Integromat). Automate feedback workflows with instant triggers for new posts, comments, votes, and status changes, plus actions and searches.
Overview
The ProductBridge Make integration lets you connect your feedback workflows to 2,000+ apps without writing code. Automatically create posts from form submissions, notify your team when feedback arrives, sync status changes to your project tracker, enrich users from your CRM, and much more.
4 Triggers
React to new posts, comments, votes, and status changes in real time via instant webhooks.
11 Actions
Create posts, comments, tags, votes and users, change statuses, and manage records from any connected app.
14 Searches
Look up posts, comments, votes, tags, boards, users, and changelog entries to use in later steps.
A built-in Make an API Call module also lets you reach any ProductBridge endpoint that isn't covered by a dedicated module.
Prerequisites
- A ProductBridge account with an active project
- A Make account (a paid plan is required to run a custom app in a live scenario)
- Your ProductBridge API key
Connect ProductBridge to Make
Get your API key
In ProductBridge, navigate to Connect Sources → Make → Generate API Key and copy the key (it starts with zpk_).
Each API key is scoped to your organization and grants access to all projects within it.
Keep your API key secure. Do not share it publicly or commit it to version control. You can revoke it at any time from Connect Sources → Make, which immediately disconnects Make.
Add the ProductBridge app
Open the ProductBridge app invite link and confirm to add the app to your Make organization. It then appears in the scenario editor when you search for ProductBridge.
Create a connection
Add any ProductBridge module to a scenario and click Add connection. Paste your API key and save. Make validates it against your ProductBridge organization and shows your organization name as the connection label.
Build your scenario
Choose a trigger, action, or search from the lists below, map the fields, and turn on your scenario. Triggers use instant webhooks, so events fire in real time.
Triggers
Triggers fire automatically when something happens in ProductBridge. All triggers are instant webhooks for real-time delivery and support an optional Board filter.
Watch Posts
Triggers when a new feedback post is created.
| Output Field | Type | Description |
|---|---|---|
id | string | Unique post identifier |
title | string | Post title |
details | string | Post description |
board.name | string | Board the post belongs to |
status.name | string | Current status (e.g., Open, In Progress) |
vote_count | number | Number of votes |
comment_count | number | Number of comments |
tags | array | Tags assigned to the post |
author.name | string | Author display name |
author.email | string | Author email address |
created_at | string | ISO 8601 timestamp |
Use the optional Board filter to trigger only for posts on a specific board (e.g., "Feature Requests" or "Bug Reports").
Watch Comments
Triggers when a new comment is added to a post. Includes both public comments and internal notes.
| Output Field | Type | Description |
|---|---|---|
id | string | Comment identifier |
post_id | string | Parent post identifier |
post_title | string | Parent post title |
content | string | Comment text |
is_internal | boolean | Whether the comment is an internal note |
author.name | string | Comment author name |
author.email | string | Comment author email |
board.name | string | Board name |
created_at | string | ISO 8601 timestamp |
Watch Votes
Triggers when a user votes on a post.
| Output Field | Type | Description |
|---|---|---|
id | string | Vote identifier |
post_id | string | Voted post identifier |
post_title | string | Voted post title |
voter.name | string | Voter display name |
voter.email | string | Voter email address |
board.name | string | Board name |
created_at | string | ISO 8601 timestamp |
Watch Status Changes
Triggers when a post's status changes (e.g., from "Open" to "In Progress").
| Output Field | Type | Description |
|---|---|---|
id | string | Event identifier |
post_id | string | Post identifier |
post_title | string | Post title |
old_status | string | Previous status name |
new_status | string | New status name |
board.name | string | Board name |
changed_at | string | ISO 8601 timestamp |
Actions
Actions let you create or update data in ProductBridge from any connected app.
Create a Post
Creates a new feedback post on a specified board.
| Input Field | Required | Description |
|---|---|---|
board_id | Yes | Board to create the post on (dropdown) |
title | Yes | Title of the feedback post |
details | No | Detailed description of the feedback |
author_email | No | Email of the post author. Creates a new user if not found. |
author_name | No | Display name of the author (used when creating a new user) |
Use this action to turn form submissions, emails, or support tickets from other apps into ProductBridge feedback posts automatically.
Change Post Status
Updates the status of an existing post.
| Input Field | Required | Description |
|---|---|---|
post_id | Yes | Post to update |
status_id | Yes | New status (dropdown) |
changer_email | No | Email of the person changing the status |
notify_voters | No | If true, voters are notified of the status change |
Create a Comment
Creates a public or internal comment on an existing post.
| Input Field | Required | Description |
|---|---|---|
post_id | Yes | Post to comment on |
content | Yes | Comment text |
author_email | No | Email of the comment author |
is_internal | No | If true, the comment is an internal note not visible to end users |
Delete a Comment
Deletes a comment.
| Input Field | Required | Description |
|---|---|---|
comment_id | Yes | Comment to delete |
Add Post Tag
Adds an existing tag to a post.
| Input Field | Required | Description |
|---|---|---|
post_id | Yes | Post to tag |
tag_id | Yes | Tag to add (dropdown) |
Remove Post Tag
Removes a tag from a post.
| Input Field | Required | Description |
|---|---|---|
post_id | Yes | Post to untag |
tag_id | Yes | Tag to remove (dropdown) |
Create a Tag
Creates a new post tag.
| Input Field | Required | Description |
|---|---|---|
name | Yes | Tag name |
color | No | Hex color, e.g. #2B4ACB |
Create or Update a User
Creates a new user or updates an existing one (upsert). Useful for syncing user data from CRMs or other tools.
| Input Field | Required | Description |
|---|---|---|
email | Yes | User email address (used as the unique identifier) |
name | Yes | User display name |
avatar_url | No | URL of the user's avatar image |
Delete a User
Removes a user from your organization (the user's organization membership is removed; the global user record is not hard-deleted).
| Input Field | Required | Description |
|---|---|---|
user_id | Yes | User to remove |
Cast a Vote
Casts a vote on a post on behalf of a user.
| Input Field | Required | Description |
|---|---|---|
post_id | Yes | Post to vote on |
voter_email | Yes | Email of the voter. Creates a new user if not found. |
voter_name | No | Display name of the voter (used when creating a new user) |
Delete a Vote
Deletes a vote.
| Input Field | Required | Description |
|---|---|---|
vote_id | Yes | Vote to delete |
Make an API Call
A universal module for advanced use. Make a custom authenticated request to any ProductBridge endpoint that isn't covered by a dedicated module — choose the method (GET/POST/PUT/PATCH/DELETE), enter a relative path such as /searches/users, and optionally add a body and query parameters. Authentication is added for you, so you don't need to set the x-api-key header yourself.
Searches
Searches look up existing records so you can use their data in later steps. Single-record modules find one record by ID; list modules return multiple records.
| Module | Input | Returns |
|---|---|---|
| Get a Post | post_id | Full post object |
| Get a Comment | comment_id | Comment object |
| Get a Vote | vote_id | Vote object |
| Get a Tag | tag_id (dropdown) | Tag (id, name, color) |
| Get a Board | board_id (dropdown) | Board (id, name, description) |
| Get a User | user_id | User (id, email, name, avatar) |
| Search Posts | board (optional), limit | List of posts |
| Search Comments | board (optional) | List of recent comments |
| Search Votes | board (optional) | List of recent votes |
| List Users | — | List of organization users |
| List Changelog Entries | — | List of changelog entries |
| List Tags | — | List of tags |
| List All Boards | — | List of boards |
| List Status Changes | board (optional) | List of recent status changes |
Example scenarios
Trigger: Watch Posts (ProductBridge) Action: Send a Message (Slack)
Notify your product team in Slack whenever a new feedback post is submitted. Include the post title, author, and board name in the message.
Trigger: New Conversation (Intercom) Action: Create a Post (ProductBridge)
Turn Intercom conversations tagged as feedback into ProductBridge posts. Map the conversation subject to the post title and the customer email to the author.
Trigger: Watch Status Changes (ProductBridge) Action: Update an Issue (Jira)
When a post moves to "In Progress" in ProductBridge, update the linked Jira issue status. Use Get a Post for additional context.
Trigger: Watch Votes (ProductBridge) Action: Add a Row (Google Sheets)
Log every vote to a Google Sheet for custom analytics. Track which posts gain traction and who is voting.
API Details
The Make integration communicates with the ProductBridge API at https://api.productbridge.io/api/v1/make.
The integration uses API key authentication. Your key is sent as the x-api-key header on every request. The API validates the key and returns your organization context.
- Header:
x-api-key: YOUR_API_KEY - Content-Type:
application/json - Test endpoint:
GET /api/v1/make/auth/test
All triggers use Make's instant (dedicated) webhooks:
- Attach: When a scenario is turned on, Make sends a
POST /api/v1/make/hooksrequest with the webhook URL and event type, and stores the returned hook ID. - Receive: ProductBridge sends webhook payloads to the registered URL when events occur.
- Detach: When a scenario is turned off, Make sends a
DELETE /api/v1/make/hooks/{id}request to stop deliveries.
The integration handles errors with specific HTTP status codes:
| Status | Meaning | Behavior |
|---|---|---|
| 401 | API key invalid or expired | Prompts you to reconnect |
| 400+ | Invalid request data | Shows the error message from the API response |
| 200 | Success | Continues scenario execution |
Troubleshooting
- Verify your scenario is turned on in Make
- Check that the event type matches your trigger (e.g., creating a post fires "Watch Posts", not "Watch Comments")
- If using a board filter, ensure the event occurs on the selected board
- Check the scenario history in Make for errors or skipped runs
- Regenerate your API key in ProductBridge → Connect Sources → Make
- Re-create the connection in Make with the new key
- Ensure your ProductBridge subscription includes API access
- Boards, statuses, and tags are loaded dynamically from your ProductBridge account
- If a board, status, or tag was recently created, refresh the dropdown in Make
- Ensure your API key has access to the project containing the records you expect to see
This app mirrors the Canny Make app. Two Canny modules are intentionally unavailable because ProductBridge has no equivalent concept: Delete a Company and List Opportunities. Delete a User removes the user from your organization rather than hard-deleting the global user record.