---
title: Beamer API Integration on Truto
slug: beamer
category: Marketing Automation
canonical: "https://truto.one/integrations/detail/beamer/"
---

# Beamer API Integration on Truto



**Category:** Marketing Automation  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 44 tools for Beamer that AI agents can call directly.

- **beamer_ping_ping** — Verify your Beamer API key authentication by sending a ping request. Returns: name, url.
- **list_all_beamer_posts** — List existing posts in Beamer with optional filtering by date, language, category, publication status, and segmentation. Returns each post's id, date, published, pinned, category, translations, filter, views, clicks, and reaction counts. Max 10 posts per page.
- **create_a_beamer_post** — Create a new post in Beamer with one or more translations. Returns the created post including id, date, published, category, translations with title and content, and analytics fields such as views, clicks, and feedbacks. Required: title, content. Multiple translations require the Starter plan or above.
- **beamer_posts_count** — Count existing posts in Beamer, optionally filtered by date range, language, category, publication status, segmentation, and user attributes. Returns: url.
- **get_single_beamer_post_by_id** — Get a single Beamer post by id. Returns the full post object including id, date, translations, category, views, clicks, and reaction statistics. Required: id.
- **update_a_beamer_post_by_id** — Update an existing Beamer post by id. Returns the updated post object including id, date, published, pinned, category, translations, and analytics fields such as views, clicks, and reactions. Required: id.
- **delete_a_beamer_post_by_id** — Delete a Beamer post by id. Returns an empty 204 response on success. Required: id.
- **list_all_beamer_post_comments** — List comments for a Beamer post. Returns each comment's id, date, text, postTitle, userId, userEmail, userFirstName, userLastName, url, and userCustomAttributes. Required: post_id.
- **create_a_beamer_post_comment** — Create a new comment on a Beamer post. Returns the created comment including id, date, text, postTitle, userId, userEmail, userFirstName, userLastName, url, and userCustomAttributes. Required: post_id, text.
- **beamer_post_comments_count** — Count existing comments on a Beamer post, optionally filtered by date range, language, or search text. Returns: url. Required: post_id.
- **get_single_beamer_post_comment_by_id** — Get a single Beamer post comment by id. Returns the comment including id, date, text, postTitle, userId, userEmail, userFirstName, userLastName, url, and userCustomAttributes. Required: post_id, id.
- **delete_a_beamer_post_comment_by_id** — Delete a Beamer post comment by id. Returns an empty 204 response on success. Required: post_id, id.
- **list_all_beamer_post_reactions** — List existing reactions for a Beamer post, optionally filtered by date range and reaction type. Returns: id, url. Required: post_id. Max 10 results per page.
- **create_a_beamer_post_reaction** — Create a new reaction on a Beamer post. Returns the created reaction including id, date, reaction, postTitle, userId, userEmail, userFirstName, userLastName, url, and userCustomAttributes. Required: post_id, reaction.
- **beamer_post_reactions_count** — Count existing reactions for a Beamer post, optionally filtered by date range and reaction type. Returns: url. Required: post_id.
- **get_single_beamer_post_reaction_by_id** — Get a single Beamer post reaction by id. Returns the reaction including id, date, reaction, postTitle, userId, userEmail, userFirstName, userLastName, url, and userCustomAttributes. Required: post_id, id.
- **delete_a_beamer_post_reaction_by_id** — Delete a Beamer post reaction by id. Returns an empty 204 response on success. Required: post_id, id.
- **list_all_beamer_unread** — List the unread posts in your Beamer feed for a user. Only posts visible in the feed are returned - draft, deleted, archived, expired and scheduled posts are excluded. Returns an array of posts with id, date, published, pinned, category, translations (title, content, language, images), filter, views, clicks and reaction counts - the same shape as posts list. IMPORTANT: markAsRead defaults to true, so calling this marks the returned posts as read; pass markAsRead=false (and saveViews=false) for a side-effect-free read. Pair userId with Pro+ plans for multi-device read sync. Max 10 posts per page; Truto paginates with page/maxResults.
- **beamer_unread_count** — Count unread posts visible in your Beamer feed. Only posts visible in your feed are counted (draft, deleted, archived, expired, and scheduled posts are excluded). Returns: url.
- **list_all_beamer_feature_requests** — List Beamer feature requests with optional filters by category, status, language, date range, visibility, or search text. Returns: id, url. Max 10 results per page.
- **create_a_beamer_feature_request** — Create a new feature request in Beamer. Returns the created feature request including id, date, visible, category, status, translations, votesCount, commentsCount, notes, and filters. Title and content are string arrays supporting multiple translations simultaneously.
- **beamer_feature_requests_count** — Count existing feature requests in Beamer. Returns the total number of matching feature requests. Accepts an optional filters parameter to narrow the count by segmentation filter.
- **get_single_beamer_feature_request_by_id** — Get a single Beamer feature request by id. Returns: id, url. Required: id.
- **update_a_beamer_feature_request_by_id** — Update a Beamer feature request by id. Returns the updated feature request including id, date, visible, category, status, translations, votesCount, commentsCount, and notes. Required: id.
- **delete_a_beamer_feature_request_by_id** — Delete a feature request in Beamer by id. Returns an empty 204 response on success. Required: id.
- **list_all_beamer_feature_request_votes** — List votes cast on a Beamer feature request. Returns: id, url. Required: feature_request_id.
- **create_a_beamer_feature_request_vote** — Create a new vote on a Beamer feature request. Returns: id, date, featureRequestTitle, userId, userEmail, userFirstName, userLastName, userCustomAttributes, url. Required: feature_request_id.
- **beamer_feature_request_votes_count** — Count existing votes on a Beamer feature request. Returns the total vote count as a count object. Required: feature_request_id.
- **get_single_beamer_feature_request_vote_by_id** — Get a single Beamer feature request vote by id. Returns: id, url. Required: feature_request_id, id.
- **delete_a_beamer_feature_request_vote_by_id** — Delete a Beamer feature request vote by id. Returns an empty 204 response on success. Required: feature_request_id, id.
- **list_all_beamer_feature_request_comments** — List comments on a Beamer feature request. Returns: id, url. Required: feature_request_id.
- **create_a_beamer_feature_request_comment** — Create a new comment on a Beamer feature request. Returns the created comment including id, date, text, visible, and user details. Required: feature_request_id, text.
- **beamer_feature_request_comments_count** — Count existing comments from a Beamer feature request. Returns: url. Required: feature_request_id. Supports optional filters by date range, visibility, language, and text search.
- **get_single_beamer_feature_request_comment_by_id** — Get a single comment from a Beamer feature request by id. Returns: id, url. Required: feature_request_id, id.
- **delete_a_beamer_feature_request_comment_by_id** — Delete a comment from a Beamer feature request by id. Returns an empty 204 response on success. Required: feature_request_id, id.
- **list_all_beamer_nps** — List NPS responses in Beamer, with optional filtering by date, score, and feedback text. Returns each response's id, date, score, feedback, userId, userEmail, userFirstName, userLastName, refUrl, and url. Supports filtering by dateFrom, dateTo, scoreFrom, scoreTo, and search.
- **beamer_nps_count** — Count NPS responses in Beamer, with optional filtering by date, score, and feedback text. Returns a count object with the total number of matching responses. Supports filtering by dateFrom, dateTo, scoreFrom, scoreTo, and search.
- **beamer_nps_get_survey_url** — Get the URL for your NPS survey in Beamer. Returns: url.
- **list_all_beamer_users** — List Beamer analytics users with optional filtering by userId, beamerId, or userEmail. Returns: url. Max 100 per page.
- **create_a_beamer_user** — Create a new user in Beamer Analytics. Returns: userId, userEmail, userFirstName, userLastName, url.
- **beamer_users_bulk_update** — Update matching Beamer analytics users identified by userId, beamerId, or userEmail with new attribute values. Returns: userId, userEmail, userFirstName, userLastName, url.
- **create_a_beamer_team** — Invite a new team member into your Beamer account. Returns: email, role, url. Required: email, role.
- **beamer_team_bulk_delete** — Remove a team member from your Beamer account by email. Returns: email, url. Required: email.
- **list_all_beamer_feed** — Get the URL for your Beamer standalone feed. Returns the feed url. Optional parameters support language selection, segmentation filters, URL filtering, user analytics details, and theme customization.

## How it works

1. **Link your customer's Beamer account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Beamer.** The Proxy API is a 1-to-1 mapping of the Beamer API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate changelog publishing from your product** — Let your customers auto-publish Beamer posts whenever they ship a feature, close an epic, or mark a project as done inside your app. This removes manual copy-paste work between engineering tools and Beamer.
- **Pipe NPS and feature votes into customer records** — For CRM, CS, and analytics platforms, ingesting Beamer NPS scores and feature request votes gives account teams a real-time view of user sentiment before renewals or QBRs.
- **Sync feature requests into product management workflows** — Roadmap and issue tracking tools can import Beamer feature requests, their statuses, and vote counts as backlog items so PMs can triage user demand alongside internal work.
- **Build native in-app notification centers** — Portal builders and adoption platforms can pull unread Beamer posts and counts to render announcements inside their own UI, keeping branding consistent while staying in sync with Beamer's read state.
- **Segment announcements using your own user data** — Billing, CDP, and analytics tools can push user attributes into Beamer so your customers can target changelog posts by plan tier, cohort, or lifecycle stage without engineering effort.

## What you can build

- **One-click changelog publishing** — Trigger create_a_beamer_post from your app so users can publish release notes to Beamer directly from a ticket, project, or CMS entry.
- **NPS sync to customer profiles** — Continuously pull Beamer NPS responses and attach scores plus qualitative feedback to the matching user or account record in your product.
- **Feature request import with vote counts** — List Beamer feature requests and their vote totals to surface top-voted user demand inside your roadmap, PM, or CS tool.
- **Custom in-app notification badge** — Use unread post listings and counts (with markAsRead=false) to render a native announcement bell that mirrors Beamer's state inside your UI.
- **Bulk user attribute sync for segmentation** — Push user identities and custom attributes into Beamer via bulk update so your customers can target posts to precise segments like plan tier or region.
- **Post engagement analytics** — Aggregate reactions and comments per Beamer post to show which announcements resonated, feeding adoption dashboards or triggering follow-up walkthroughs.

## FAQs

### How does authentication work for connecting end-user Beamer accounts?

Truto handles the Beamer credential exchange and storage for you. Your users connect their Beamer account through Truto's connect flow, and Truto injects the correct credentials on every API call so you never handle secrets directly.

### What Beamer objects can I read and write?

The integration supports posts, post comments, post reactions, unread posts, feature requests, feature request votes and comments, NPS responses, users, teams, and the activity feed. Most objects support list, get, create, update, and delete where Beamer's API allows.

### Does listing unread posts mark them as read?

Yes — by default, calling list_all_beamer_unread marks the returned posts as read in Beamer. If you're building a native notification center and want to preserve read state, pass markAsRead=false in the request.

### How does Truto handle pagination and rate limits?

Truto normalizes Beamer's pagination so list endpoints return consistent cursors across calls, and it manages retries and backoff when Beamer rate-limits requests so your integration stays stable under load.

### Can I keep data fresh in real time?

Truto supports scheduled polling of Beamer endpoints like list_all_beamer_nps, list_all_beamer_feature_requests, and list_all_beamer_feed to keep downstream systems in sync. Polling frequency is configurable per resource based on your freshness needs.

### Can I update users in bulk instead of one at a time?

Yes. The beamer_users_bulk_update tool lets you upsert many users and their custom attributes in a single call, which is the recommended approach for syncing large audiences from a CDP or billing system into Beamer.

## Related reading

- [Connect Beamer to ChatGPT: Manage Product Updates & Feature Requests](https://truto.one/blog/connect-beamer-to-chatgpt-manage-product-updates-feature-requests/) — Learn how to connect Beamer to chatgpt using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
- [Connect Beamer to Claude: Analyze NPS Responses & Post Reactions](https://truto.one/blog/connect-beamer-to-claude-analyze-nps-responses-post-reactions/) — Learn how to securely connect Beamer to Claude using a managed MCP server. Automate NPS analysis, feature request tracking, and post engagement reporting.
- [Connect Beamer to AI Agents: Automate Posts and Team Management](https://truto.one/blog/connect-beamer-to-ai-agents-automate-posts-and-team-management/) — Learn how to connect Beamer to AI agents using Truto's tool-calling API. Build autonomous workflows for changelogs, feature requests, and NPS analysis.
