Ticketing
Featurebase
API integration
Ship Ticketing features without building the integration. Full Featurebase API access via Proxy and 170+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Featurebase
Common scenarios for SaaS companies building Featurebase integrations for their customers.
Sync CRM accounts into Featurebase for revenue-weighted feedback
RevOps and CRM platforms can push account tier, MRR, and churn risk into Featurebase Companies and Contacts, letting their users prioritize feature requests by actual customer value instead of raw upvote counts.
Turn support conversations into product insights
CX and conversation intelligence tools can automatically detect feature requests in call transcripts or chats and file them as insights linked to existing Featurebase posts, so product teams never lose feedback buried in support channels.
Automate changelog and API docs from CI/CD
Developer tooling platforms can trigger changelog drafts and push OpenAPI spec syncs to the Featurebase Help Center on every merged PR, keeping release notes and API reference in lockstep with deployments.
Embed native feedback and voting inside your app
Product adoption and in-app engagement platforms can render Featurebase posts and submit votes through their own UI, giving end users a white-labeled roadmap experience without redirecting them to a public portal.
Ground the Fibi AI agent with your knowledge base
Knowledge management and onboarding tools can push articles, PDFs, and curated Q&A pairs into Featurebase training data, so their customers' AI support agent answers accurately using the latest internal content.
What You Can Build
Ship these features with Truto + Featurebase
Concrete product features your team can ship faster by leveraging Truto’s Featurebase integration instead of building from scratch.
Two-way account and contact sync
Keep Featurebase Companies and Contacts continuously aligned with your internal workspace, tenant, or CRM records including custom fields.
In-app roadmap and voting widget
List posts, boards, and statuses inside your product UI and let end users upvote feature requests with a single API call.
Conversation-to-insight pipeline
Convert detected feature mentions from calls or chats into Featurebase posts or attach them as insight evidence under existing requests.
Automated changelog publishing from your release pipeline
Draft, publish, and notify subscribers of changelog entries whenever a deployment ships, with programmatic control over publication state.
Help Center API spec auto-sync
Push OpenAPI 3 specs to Featurebase on every merge, with URL checks, revisions, and rollback support built into your CI flow.
AI knowledge base ingestion
Create and update training data files and Q&A pairs programmatically to keep the Fibi AI agent grounded on your customer's live documentation.
SuperAI
Featurebase AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
featurebase_admin_assignment_limits_bulk_update
Update an admin assignment limit. Updates the admin capacity mode or paused state. mode can be inherit, custom, or unlimited. custom requires limit. Omitted fields keep their current value. Required: admin_id.
featurebase_admin_away_states_bulk_update
Update admin away state. Updates an admin away state. awayReasonId uses a stable managed-reason ID. Omit it to preserve the current reason, or send null to clear the reason. Required: admin_id, enabled.
list_all_featurebase_admin_roles
List admin roles. Returns all available admin roles and their permissions. This endpoint returns all roles at once (typically a small list). No pagination is supported. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
featurebase_admin_workloads_bulk_update
Bulk update admin workload state. Atomically updates away state or assignment limits for up to 50 admins. One request performs one operation type. Assignment-limit operations require an explicit paused value. Required: adminIds, operation.
list_all_featurebase_admins
List admins. Returns all admins for your organization. This endpoint returns all admins at once (typically a small list). No pagination is supported. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_admin_by_id
Get an admin by ID. Retrieves a single admin by their unique identifier. Returns the admin object if found and they belong to your organization. Required: id.
list_all_featurebase_audit_logs
List audit logs. Returns a list of audit log events in your organization using cursor-based pagination (newest first).
list_all_featurebase_away_reasons
List managed away reasons. Returns active managed away reasons. Set includeArchived=true to include historical reasons. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
list_all_featurebase_boards
List all boards. Returns all boards (post categories) for the authenticated organization. Boards are containers for posts/feedback. Each board can have different. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_board_by_id
Get a board by ID. Retrieves a single board by its unique identifier. Returns the full board object including all access controls, feature toggles, and localization settings. Required: id.
list_all_featurebase_brands
List all brands. Returns all brands in your organization with cursor-based pagination.
get_single_featurebase_brand_by_id
Get brand by ID. Retrieves a single brand by its Featurebase ID. Required: id.
create_a_featurebase_changelog_publication
Publish a changelog. Publishes a changelog and optionally sends an email notification to subscribers. Required: changelog_id.
featurebase_changelog_subscribers_bulk_create
Add changelog subscribers. Adds email addresses as changelog subscribers in bulk. Subscribers will receive email notifications when new changelogs are published (if email notifications are enabled during publishing). Required: emails.
featurebase_changelog_subscribers_bulk_delete
Remove changelog subscribers. Removes email addresses from changelog subscribers in bulk. Removed subscribers will no longer receive email notifications when new changelogs are published. Required: emails.
create_a_featurebase_changelog_unpublication
Unpublish a changelog. Unpublishes a changelog, removing it from public view. Required: changelog_id.
list_all_featurebase_changelogs
List all changelogs. Returns all changelogs for the authenticated organization. Changelogs are release notes and updates that keep users informed about new features, improvements, and bug fixes. Each changelog can have.
create_a_featurebase_changelog
Create a new changelog. Creates a new changelog for the authenticated organization. Required: title.
get_single_featurebase_changelog_by_id
Get a changelog by ID. Retrieves a single changelog by its unique identifier or slug. Returns the full changelog object including. Required: id.
update_a_featurebase_changelog_by_id
Update a changelog. Updates an existing changelog by its unique identifier. You can update. Required: id.
delete_a_featurebase_changelog_by_id
Delete a changelog. Deletes a changelog by its unique identifier. Required: id.
list_all_featurebase_comments
List comments. Returns comments for your organization. Comments are threaded discussions. Each comment can have.
create_a_featurebase_comment
Create a new comment. Creates a new comment or reply to an existing comment. You can create a comment for a post or changelog. Comments support. Required: content.
get_single_featurebase_comment_by_id
Get a comment by ID. Retrieves a single comment by its unique identifier. Returns the full comment object including. Required: id.
update_a_featurebase_comment_by_id
Update a comment. Updates an existing comment by its unique identifier. You can update. Required: id.
delete_a_featurebase_comment_by_id
Delete a comment. Deletes a comment by its unique identifier. Required: id.
featurebase_comments_search
Search comments. Search comments with a structured filter AST, full-text search, sorting, and cursor pagination.
list_all_featurebase_companies
List all companies. Returns all companies in your organization with cursor-based pagination.
create_a_featurebase_company
Create or update a company. Creates a new company or updates an existing one. Uses the external companyId as the unique identifier for upsert matching. If a company with the given companyId already exists, it will be updated. Otherwise, a new company will be created. Required: companyId, name.
get_single_featurebase_company_by_id
Get company by ID. Retrieves a single company by its Featurebase ID. Required: id.
delete_a_featurebase_company_by_id
Delete a company. Deletes a company by its Featurebase ID. This will also remove the company from all linked users' associations. Required: id.
featurebase_companies_search
Search companies. Search companies with a structured filter AST, sorting, and cursor pagination.
delete_a_featurebase_companies_by_company_id_by_id
Delete a company by external company ID. Permanently deletes a company by its external company ID (the companyId from your system). This will also remove the company from all linked users' associations. Required: id.
list_all_featurebase_company_contacts
List contacts attached to a company. Returns all contacts (customers) attached to a specific company. Only returns contacts with type "customer" that have the company in their companyIds array. Uses cursor-based pagination. Required: company_id.
create_a_featurebase_company_contact
Attach a contact to a company. Attaches a contact (customer) to a company. Adds the company to the contact's companyIds array and embedded companies array. This operation is additive - existing company associations are preserved. Also increments the linkedUsers count on the company. Required: company_id, contactId.
delete_a_featurebase_company_contact_by_id
Remove a contact from a company. Removes a contact (customer) from a company. Removes the company from the contact's companyIds array and embedded companies array. Also decrements the linkedUsers count on the company. Required: id, company_id.
create_a_featurebase_contact_block
Block a contact. Blocks a contact by their Featurebase ID using the global moderation system. Required: contact_id.
list_all_featurebase_contact_email_preferences
Get contact email preferences by ID. Retrieves the email preference state for a customer contact by their Featurebase ID. Required: contact_id.
featurebase_contact_email_preferences_bulk_update
Update contact email preferences by ID. Updates one or more email preferences for a customer contact by their Featurebase ID. Required: contact_id, preferences.
list_all_featurebase_contact_email_preferences_by_user_id
Get contact email preferences by external user ID. Retrieves the email preference state for a customer contact by their external user ID. This endpoint only supports customer contacts and mirrors the existing by-user-id lookup pattern used across the contact API. Required: user_id.
featurebase_contact_email_preferences_by_user_id_bulk_update
Update contact email preferences by external user ID. Updates one or more email preferences for a customer contact by their external user ID. This endpoint only supports customer contacts and mirrors the existing by-user-id lookup pattern used across the contact API. Required: user_id, preferences.
create_a_featurebase_contact_merge
Merge a lead into a customer. Merges a lead into a customer. Use it when a lead becomes a user of your product. The source contact must be a lead and the destination contact must be a customer. Both must belong to the authenticated organization. When the merge completes. Required: destinationContactId, sourceContactId.
create_a_featurebase_contact_unblock
Unblock a contact. Unblocks a contact by their Featurebase ID from the global moderation system. Required: contact_id.
list_all_featurebase_contacts
List contacts. Returns a list of contacts (customers and leads) in your organization using cursor-based pagination.
create_a_featurebase_contact
Create or update a contact. Creates a new contact or updates an existing one. If a contact with the given email or userId already exists, it will be updated. Otherwise, a new contact will be created.
get_single_featurebase_contact_by_id
Get contact by ID. Retrieves a single contact by their Featurebase ID. Returns both customers and leads. Required: id.
delete_a_featurebase_contact_by_id
Delete contact by ID. Permanently deletes a contact by their Featurebase ID. Supports deleting both customers and leads. Required: id.
featurebase_contacts_search
Search contacts. Search contacts (customers and leads) with a structured filter AST, sorting, and cursor pagination.
get_single_featurebase_contacts_by_user_id_by_id
Get contact by external user ID. Retrieves a single contact by their external user ID (from your system via SSO). Required: id.
delete_a_featurebase_contacts_by_user_id_by_id
Delete contact by external user ID. Permanently deletes a contact by their external user ID. Required: id.
list_all_featurebase_conversation_attributes
List conversation custom attributes. Returns conversation custom attribute definitions configured in your organization. Conversation payloads expose customAttributes keyed by stable attribute IDs. Use this endpoint to map those IDs to display names, identifiers, data types, field subtypes, and select options. By default, archived definitions are excluded. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_conversation_attribute_by_id
Get a conversation custom attribute by ID. Retrieves a single conversation custom attribute definition by its stable ID. Use this when a conversation response contains a customAttributes key and you need the corresponding display name, identifier, data type, field subtype, or options. Required: id.
create_a_featurebase_conversation_draft
Put a draft in an admin’s composer. Puts a reply or internal note draft into an admin's composer for a conversation. Nothing is sent: the admin reviews the draft in the dashboard and sends it. Use this instead of Reply to a conversation when a person asks you to draft, prepare or write a response for them. Required: conversation_id, adminId, bodyMarkdown.
featurebase_conversation_drafts_bulk_delete
Discard an admin’s draft. Discards the draft that Put a draft in an admin's composer put into an admin's composer for a conversation. The composer goes back to what it held before the draft, in every browser. Text the admin typed into the draft in a browser stays there. adminId names the admin, the same way as when the draft was put in. Required: conversation_id, adminId.
create_a_featurebase_conversation_participant
Add a contact to a conversation. Adds a contact (customer or lead) as a participant to an existing conversation. Required: conversation_id, participant.
delete_a_featurebase_conversation_participant_by_id
Remove a contact from a conversation. Removes a contact (customer or lead) from an existing conversation. Required: id (the id), conversation_id.
create_a_featurebase_conversation_redaction
Redact a conversation part. Redacts a conversation part (message) from a conversation. Redaction permanently removes the message content while preserving the conversation structure. Only human message types can be redacted. Required: conversationId, conversationPartId, type.
create_a_featurebase_conversation_reply
Reply to a conversation. Adds a reply to an existing conversation. Supports both contact (customer/lead) and admin replies. Required: conversation_id, bodyMarkdown, messageType, type.
create_a_featurebase_conversation_tag
Attach a tag to a conversation. Attaches a workspace tag to a conversation. This endpoint requires both the tag ID to attach and the actingAdminId of the admin on whose behalf the mutation is recorded. Required: conversation_id, actingAdminId, tagId.
delete_a_featurebase_conversation_tag_by_id
Detach a tag from a conversation. Removes a workspace tag from a conversation. This endpoint requires the actingAdminId of the admin on whose behalf the mutation is recorded. Required: id, conversation_id, actingAdminId.
list_all_featurebase_conversations
List conversations. Returns a list of conversations in your organization using cursor-based pagination.
create_a_featurebase_conversation
Create a conversation. Creates a new conversation. Supports both contact-initiated (customer/lead) and admin-initiated (outreach) conversations. Required: bodyMarkdown, from.
get_single_featurebase_conversation_by_id
Get conversation by ID. Retrieves a single conversation by its ID, including conversation parts (messages). Required: id.
update_a_featurebase_conversation_by_id
Update a conversation. Updates a conversation's properties. Supports partial updates - only provided fields will be updated. Required: id.
delete_a_featurebase_conversation_by_id
Delete a conversation. Permanently deletes a conversation by its short ID. Required: id.
featurebase_conversations_search
Search conversations. Search conversations with a structured filter AST and an optional full-text query. The endpoint has two modes that are picked automatically from the body.
list_all_featurebase_custom_fields
List custom fields. Returns all custom fields configured in your organization. This endpoint returns all custom fields at once (typically a small list). No pagination is supported. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_custom_field_by_id
Get a custom field by ID. Retrieves a single custom field by its unique identifier. Returns the custom field object if found in your organization. Required: id.
list_all_featurebase_help_center_api_pages
Retrieve the API tab pages. Returns the guide pages of the API tab: the landing article ( introArticleId ) and the sidebar sections above the endpoint groups. A section lists the articles of a collection ( collection ) or a titled group of articles ( articles ).
featurebase_help_center_api_pages_bulk_update
Replace the API tab pages. Replaces the landing article and the sidebar sections of the API tab. Send the full list: sections that are not in the list are removed. Every article and collection must be in the same help center. An article can be in one section only. Limits: 20 sections, 100 articles per section, 300 articles in all. Required: sections.
create_a_featurebase_help_center_api_spec_draft_discard
Discard the draft. Discards the draft that waits for review. The live revision does not change. Send the draft revision as draftRevision . Required: spec_id, draftRevision.
list_all_featurebase_help_center_api_spec_drafts
Retrieve the draft and its changes. Returns the draft that waits for review, with the change report against the live revision: endpoints added, removed, changed (one line per change) and moved, whether a change is breaking, and whether the servers or security schemes changed. Required: spec_id.
list_all_featurebase_help_center_api_spec_endpoints
List endpoints. Lists the endpoints of a version: method, path, stableKey , operationId , summary, tag, and hasIntro (an intro exists). Use it to find the stableKey (and operationId ) to send to PUT …/intros . Search with q (method, path, summary, operationId) or filter by tag . Required: spec_id.
create_a_featurebase_help_center_api_spec_import
Import an OpenAPI spec as a draft. Imports a new OpenAPI 3 spec into a version. The result is always a draft : nothing changes in the help center until you publish it. Auto-publish never applies here. Required: spec_id.
list_all_featurebase_help_center_api_spec_intros
List endpoint intros. Lists the intros of a version. An intro is free text shown above one endpoint's reference; it is never changed by a new import. An intro whose endpoint left the live spec is orphaned (kept, not shown). Required: spec_id.
featurebase_help_center_api_spec_intros_bulk_update
Create or replace an endpoint intro. Creates or replaces the intro shown above one endpoint of an API spec version, keyed by stableKey (from help_center_api_spec_endpoints.list). body is Markdown or HTML (max 1 MB); send operationId so the intro follows the endpoint when its path changes. Required: spec_id, body, stableKey.
featurebase_help_center_api_spec_intros_bulk_delete
Delete an endpoint intro. Deletes the intro of one endpoint ( stableKey query parameter). Required: spec_id, stableKey.
create_a_featurebase_help_center_api_spec_publication
Publish the draft. Publishes the draft you reviewed. Send its revision as draftRevision and its baseRevision . The call fails with 409 when a newer draft arrived or the live revision changed since you read the draft: read the draft again. The help center and search update within a minute. Use draftRevision = the draft's revision and baseRevision = its baseRevision; for the first publish send baseRevision: null explicitly (omitting it is rejected). Required: spec_id, baseRevision, draftRevision.
list_all_featurebase_help_center_api_spec_revisions
List revisions. Lists the newest revisions of a version (up to 10) that can be published or rolled back to: the live one, the draft and the older ones that are kept, with their change counts. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent. Required: spec_id.
create_a_featurebase_help_center_api_spec_rollback
Roll back to a revision. Makes an older revision live again. Send the live revision you expect as expectedLiveRevision ; the call fails with 409 when it changed. Required: spec_id, expectedLiveRevision, toRevision.
create_a_featurebase_help_center_api_spec_sync
Sync an API reference spec from CI. Pushes a new OpenAPI 3 spec for one API reference version. Call it from your CI after the spec changes. Send the OpenAPI 3 document itself as the JSON body, or {url} for an https URL. Required: spec_id.
get_single_featurebase_help_center_api_spec_sync_by_id
Get the status of a CI sync or import. Returns the status of one sync of an API reference version. Poll it from your CI after a sync call. The last 20 syncs of each version are kept. Send an Idempotency-Key header with the sync call to make retries safe: a retry with the same key (within 24 hours) returns the first syncId and creates no second draft. Required: id, spec_id.
create_a_featurebase_help_center_api_spec_url_check
Check the source URL now. Fetches the source URL of a version now (the same as "Check now" in the dashboard). Only for versions whose source is a URL. The version's source URL can only be set in the Featurebase dashboard; imports with url fetch once and do not set it, so other versions answer 400. Required: spec_id.
list_all_featurebase_help_center_api_specs
List API reference versions. Lists the API reference versions of your help centers. One version is one OpenAPI spec: its source, the live revision, whether a draft waits for review, and the last sync. Filter with helpCenterId to get the versions of one help center. A help center has at most 50 versions, so every version comes back in one page. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
create_a_featurebase_help_center_api_spec
Create an API reference version. Creates an empty API reference version in a help center. Then import a spec into it (help_center_api_spec_imports.create), review the draft and publish it. The first version of a help center becomes the default. versionSlug must be unique in the help center (lower-case letters, digits and dashes). Required: name, versionLabel, versionSlug.
get_single_featurebase_help_center_api_spec_by_id
Retrieve an API reference version. Returns one API reference version: status, visibility, default flag, source (type and URL; secret-looking query values are masked), live revision, whether a draft waits for review, and the last CI sync or import. Required: id.
update_a_featurebase_help_center_api_spec_by_id
Update an API reference version. Updates the settings of a version. Send only the fields to change. Required: id.
delete_a_featurebase_help_center_api_spec_by_id
Delete an API reference version. Deletes a version and removes its pages from the help center and from search. Deleting the default version makes the next published version the default (active before deprecated, then the newest); without one, the request is refused. Required: id.
create_a_featurebase_help_center_article_body_edit
Edit an article body (find/replace). Surgically edit an article's body with a find/replace instruction, without re-uploading the whole HTML. Designed for AI agents doing high-precision, byte-stable edits (for example renaming a product across many articles). Required: article_id, newText, oldText.
list_all_featurebase_help_center_articles
List articles. Returns a paginated list of articles within your organization's help center. Articles are the main content pieces that contain documentation, guides, and FAQs. Without state only live articles are returned; pass state=all to include drafts.
create_a_featurebase_help_center_article
Create an article. Creates a new article in your organization's help center. Required: title.
get_single_featurebase_help_center_article_by_id
Get an article by ID. Retrieves a specific article by its unique identifier. Returns the article object if found in your organization's help center. Required: id.
update_a_featurebase_help_center_article_by_id
Update an article. Updates an existing article. Only include the fields you wish to update. Required: id.
delete_a_featurebase_help_center_article_by_id
Delete an article. Deletes an existing article. Required: id.
featurebase_help_center_articles_search
Search articles. Search help-center articles by structured filters and/or hybrid full-text search, with sort and cursor pagination. This endpoint mirrors conversations.search. Two modes, dispatched off whether you pass search.
list_all_featurebase_help_center_collections
List collections. Returns a paginated list of collections within your organization's help center. Collections are used to organize articles into logical groups.
create_a_featurebase_help_center_collection
Create a collection. Creates a new collection in your organization's help center. Required: name.
get_single_featurebase_help_center_collection_by_id
Get a collection by ID. Retrieves a specific collection by its unique identifier. Returns the collection object if found in your organization's help center. Required: id.
update_a_featurebase_help_center_collection_by_id
Update a collection. Updates an existing collection. Only include the fields you wish to update. Required: id.
delete_a_featurebase_help_center_collection_by_id
Delete a collection. Deletes an existing collection. Required: id.
list_all_featurebase_help_center_redirect_rules
List redirect rules. Returns a paginated list of redirect rules within your organization. Redirect rules map old Help Center URLs to new article or collection destinations, enabling seamless migration from legacy help center systems. Only Help Centers with a custom domain configured support redirect rules.
create_a_featurebase_help_center_redirect_rule
Create a redirect rule. Creates a new redirect rule in your organization. The fromUrl is normalized on creation: query parameters and hash fragments are stripped, the hostname is lowercased, and trailing slashes are removed. The fromUrl hostname must match the Help Center's configured custom domain. fromUrl must be an absolute URL on the help center's custom domain. Required: fromUrl, helpCenterId, locale, targetId, targetType.
get_single_featurebase_help_center_redirect_rule_by_id
Get a redirect rule by ID. Retrieves a specific redirect rule by its unique identifier. Returns the redirect rule object if found in your organization. Required: id.
update_a_featurebase_help_center_redirect_rule_by_id
Update a redirect rule. Updates an existing redirect rule. Only include the fields you wish to update. If fromUrl is provided, it will be re-normalized and validated against the Help Center's custom domain. If targetType or targetId is changed, the new target must exist and have a resolvable URL. Required: id.
delete_a_featurebase_help_center_redirect_rule_by_id
Delete a redirect rule. Deletes an existing redirect rule. The associated Redis cache entry is also invalidated. Required: id.
list_all_featurebase_help_center_redirect_rules_by_url
Get a redirect rule by URL. Retrieves a specific redirect rule by its source URL. The url query parameter is normalized before matching: query parameters and hash fragments are stripped, the hostname is lowercased, and trailing slashes are removed. This is the same normalization applied when creating a redirect rule. Required: url.
list_all_featurebase_help_centers
List help centers. Returns all help centers configured in your Featurebase organization. Currently, Featurebase only supports one help center per organization, but we plan on supporting multiple help centers in the future.
get_single_featurebase_help_center_by_id
Get a help center by ID. Retrieves a single help center by its unique identifier. Returns the help center object if found in your organization. Required: id.
create_a_featurebase_post_insight_link
File a post as an insight under a request. An insight is a customer's own words kept as evidence under a request — a quote, not a request of its own, and never returned by posts.list. This endpoint turns the post id into an insight under the request issueId . Required: post_id, issueId.
create_a_featurebase_post_insight_unlink
Detach an insight from its request. Detaches the insight id from the request it was filed under. Required: post_id.
list_all_featurebase_post_insights
List the insights filed under a request. Returns the insights filed under the request id — the customer quotes kept as evidence for it. Newest first. Posts linked with attachTo are not listed here: they are posts, not insights, and they stay in posts.list. This endpoint lists exactly the rows that post_insight_links.create filed under this request. Required: post_id.
create_a_featurebase_post_issue_conversion
Promote an insight into a request. Promotes the insight id into a request of its own — the way back from link-insight . kind becomes issue , any link to another request is cleared (that request's linkedInsightCount is recounted), and the row is a post again: posts.get answers it, and posts.list lists it. Required: post_id.
create_a_featurebase_post_merge
Merge two posts. Merges a source post into a destination post. The source post is removed from public post lists. Its votes, comments, and supported integration links are moved to the destination post. Both posts must belong to the authenticated organization. Neither post can already be merged, and a post cannot be merged into itself. Required: destinationPostId, sourcePostId.
list_all_featurebase_post_statuses
List all post statuses. Returns all post statuses for the authenticated organization. Post statuses define workflow stages for posts. Each status has. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_post_status_by_id
Get a post status by ID. Retrieves a single post status by its unique identifier. Returns the full post status object including name, color, type, and default flag. Required: id.
create_a_featurebase_post_unmerge
Unmerge a post. Restores a post that was previously merged. The restored post returns to public post lists. Its votes and comments are removed from the destination post and restored on the source post. Retrying an unmerge after it succeeds is safe and returns the restored post. The response contains the restored post. Required: postId.
list_all_featurebase_post_voters
List voters on a post. Returns all voters (upvoters) for a specific post. Voters are users who have upvoted the post. Each voter is returned in the standard user format with. Required: post_id.
create_a_featurebase_post_voter
Add a voter to a post. Adds a voter (upvote) to a post. Required: post_id.
featurebase_post_voters_bulk_delete
Remove a voter from a post. Removes a voter (upvote) from a post. Required: post_id.
list_all_featurebase_posts
List all posts. Returns all posts (feedback submissions) for the authenticated organization. Posts are user-submitted feedback items. Each post belongs to a board and can have.
create_a_featurebase_post
Create a new post. Creates a new post (feedback submission) in the specified board.
get_single_featurebase_post_by_id
Get a post by ID. Retrieves a single post by its unique identifier. Returns the full post object including. Required: id.
update_a_featurebase_post_by_id
Update a post. Updates an existing post. Only provided fields will be modified. Required: id.
delete_a_featurebase_post_by_id
Delete a post. Permanently deletes a post. This action cannot be undone. Required: id.
featurebase_posts_search
Search posts. Search feedback posts with a structured filter AST, full-text search, sorting, and cursor pagination.
list_all_featurebase_report_datasets
List report datasets. Returns the reporting catalog: every dataset available to your workspace with its metrics and attributes. This is the discovery endpoint for the reporting API — read it before building query payloads. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
featurebase_report_drill_ins_search
Drill into report rows. Returns the paginated row-level records behind a metric — either the whole reporting window, or one specific data point from a previous reports.search response. Required: endDate, granularity, metric, startDate.
featurebase_report_filter_capabilities_search
List supported filters for a metric route. Returns the filter attribute IDs supported by the selected metric and optional grouping route. Use this operation before constructing metric-level filters. It applies the same routing rules as the dashboard and prevents clients from offering filters that the selected metric, group, or segment path cannot execute. Required: metricId.
featurebase_report_filter_values_search
Look up report filter values. Returns the available values for a filterable attribute — use it to build valid filters rules for reports.search. Works for attributes whose values live in your workspace data (tags, teammates, teams, companies, plans, countries, ...). Required: fieldId.
featurebase_reports_search
Run a report query. Executes an ad-hoc reporting query: one metric + aggregation over a date range, with optional filters, grouping, segmentation and period-over-period comparison. Required: aggregation, endDate, granularity, metric, startDate.
list_all_featurebase_survey_responses
Get survey responses. Retrieves all user responses for a specific survey. Required: survey_id.
list_all_featurebase_surveys
List surveys. Returns all surveys configured in your Featurebase organization.
get_single_featurebase_survey_by_id
Get a survey by ID. Retrieves a single survey by its unique identifier. Returns the survey object if found in your organization. Required: id.
list_all_featurebase_tags
List workspace tags. Returns the live conversation tags available in the workspace tag catalog. These are the canonical tags that power conversation payloads, filters, and tag mutation endpoints. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
create_a_featurebase_tag
Create or rename a tag. Creates a new workspace conversation tag when only name is provided. If id is also provided, the existing tag is renamed instead. Required: name.
get_single_featurebase_tag_by_id
Get tag by ID. Returns a single conversation tag by its Featurebase tag ID. Archived tags can still be retrieved directly by ID, while permanently deleted tags return 404 . Required: id.
delete_a_featurebase_tag_by_id
Delete a tag. Deletes a conversation tag from the workspace catalog and removes it from aggregate conversation tag state. Archived and historical part applications remain part of the audit trail where applicable. Note: on 2026-10-22 Featurebase answered every tag delete with 500 database_error, on API versions 2026-08-19.orbit and 2026-01-01.nova alike (a vendor-side bug). Required: id.
list_all_featurebase_team_metrics
Get team workload metrics. Returns Intercom-style per-admin team metrics with open, snoozed, waiting, idle, capacity limit, pause, and away state. Results use cursor pagination. Part of workload management: needs the Featurebase Enterprise plan (403 otherwise). Required: team_id.
list_all_featurebase_teams
List all teams. Returns all teams in your organization. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_team_by_id
Get team by ID. Retrieves a single team by its Featurebase ID. Required: id.
list_all_featurebase_ticket_categories
List ticket categories. Returns all ticket categories for the authenticated organization. Ticket categories organize tickets into distinct containers. Each category can have different. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_ticket_category_by_id
Get a ticket category by ID. Retrieves a single ticket category by its unique identifier. Returns the full category object including access controls, feature toggles, and localization settings. Required: id.
list_all_featurebase_ticket_custom_fields
List custom fields. Returns all custom fields configured in your organization that can be used on tickets. This endpoint returns all custom fields at once. No pagination is supported. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_ticket_custom_field_by_id
Get a custom field by ID. Retrieves a single custom field by its unique identifier. Required: id.
create_a_featurebase_ticket_reply
Reply to a ticket. Adds a reply to a ticket's linked conversation. Supports both contact and admin replies. Tickets are addressed by their ticketNumber (an integer), not by the object id. Required: ticket_id, body, type.
list_all_featurebase_ticket_statuses
List ticket statuses. Returns all ticket statuses for the authenticated organization. Ticket statuses define workflow stages. Each status has. Returns every record in one response: Featurebase does not page this endpoint, so limit and cursor are not supported and are ignored if sent.
get_single_featurebase_ticket_status_by_id
Get a ticket status by ID. Retrieves a single ticket status by its unique identifier. Returns the status object including name, color, type, and default flag. Required: id.
list_all_featurebase_tickets
List tickets. Returns a list of tickets in your organization using cursor-based pagination.
create_a_featurebase_ticket
Create a ticket. Creates a new ticket. Required: author, ticketCategoryId, title.
get_single_featurebase_ticket_by_id
Get a ticket. Retrieves a single ticket by its ticket number. Tickets are addressed by their ticketNumber (an integer), not by the object id. Required: id.
update_a_featurebase_ticket_by_id
Update a ticket. Updates a ticket's properties. Only provided fields will be updated. Tickets are addressed by their ticketNumber (an integer), not by the object id. Required: id.
delete_a_featurebase_ticket_by_id
Delete a ticket. Permanently deletes a ticket by its ticket number. Tickets are addressed by their ticketNumber (an integer), not by the object id. Required: id.
featurebase_training_data_search
Search existing knowledge for a passage. Searches one passage or claim across Q&A, training files, and live help-center articles. Returns ranked candidates and query-focused excerpts without judging or writing. Required: query.
list_all_featurebase_training_data_files
List training files. Returns uploaded training files, newest first, with cursor pagination. Filter by externalId (exact) or source . The extracted text is omitted from list responses — compare contentHash to detect changes, and retrieve a single file to read it.
create_a_featurebase_training_data_file
Add a training file. Adds a document the AI agent can learn from. Provide exactly one source.
get_single_featurebase_training_data_file_by_id
Get a training file. Returns a training file including its extracted text ( content ). Poll this endpoint after an upload until status is completed . Required: id.
update_a_featurebase_training_data_file_by_id
Update a training file. Renames a training file, replaces content, or sets externalId / source. Indexing is attempted before returning when content is available. Check status and indexStatus; HTTP success alone does not establish search readiness. Serialize updates to a source identity in your pipeline. Required: id.
delete_a_featurebase_training_data_file_by_id
Delete a training file. Removes a training file from the workspace and attempts search-index cleanup. In-flight answers may already contain earlier knowledge. Required: id.
list_all_featurebase_training_data_qna
List Q&A entries. Returns Q&A entries, newest first, with cursor pagination. Filter by externalId or source . Entries include their full questions and answer.
create_a_featurebase_training_data_qna
Create a Q&A entry. Creates or updates question variants and an answer. Optional externalId is a stable, caller-owned key, unique within workspace Q&A. Otherwise a normalized question addresses an existing entry. POST appends variants (maximum 50) and replaces supplied content; PATCH replaces the question list. Required: answer, questions.
get_single_featurebase_training_data_qna_by_id
Get a Q&A entry. Returns a single Q&A entry by ID. Required: id.
update_a_featurebase_training_data_qna_by_id
Update a Q&A entry. Updates title, questions, answer, or source. Questions replaces the whole list; preserve the union yourself when merging. Supply expectedRevision from GET or oracle existing / oracle target to apply only to the version you reviewed. Required: id.
delete_a_featurebase_training_data_qna_by_id
Delete a Q&A entry. Removes a Q&A entry from the workspace and attempts search-index cleanup. Delete only entries your pipeline owns; a merged entry may have several contributing sources. Required: id.
featurebase_training_data_qna_validate
Ask what to do with a Q&A entry. Checks a proposed Q&A without writing. Optional externalId or an existing normalized question addresses a target. Changed content is compared with that entry even if retrieval or excludeIds misses it. The judge continues past agreement to detect later contradictions; uncertainty takes precedence over agreement. Required: answer, questions.
create_a_featurebase_webhook_secret
Refresh webhook signing secret. Generates a new signing secret for a webhook. The previous secret is immediately invalidated. Required: webhook_id.
list_all_featurebase_webhooks
List webhooks. Returns a list of webhooks in your organization using cursor-based pagination.
create_a_featurebase_webhook
Create a webhook. Creates a new webhook to receive event notifications. Required: name, topics, url.
get_single_featurebase_webhook_by_id
Get webhook by ID. Retrieves a single webhook by its unique identifier. Required: id.
update_a_featurebase_webhook_by_id
Update a webhook. Updates a webhook's properties. Supports partial updates - only provided fields will be updated. Required: id.
delete_a_featurebase_webhook_by_id
Delete a webhook. Permanently deletes a webhook. Required: id.
list_all_featurebase_workload_snapshots
Get a live workload snapshot. Returns live workspace, team, and admin workload. Admin rows use cursor pagination. teamId and adminId filter admin and team rows. The summary stays workspace-wide. The snapshot is cached for five seconds. Needs the Featurebase Enterprise plan (403 otherwise).
Why Truto
Why use Truto’s MCP server for Featurebase
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1000+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Start with Featurebase in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.
Link your customer’s Featurebase account
Use Truto’s frontend SDK to connect your customer’s Featurebase account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Featurebase
Truto’s Proxy API is a 1-to-1 mapping of the Featurebase API. You call us, we call Featurebase, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Featurebase’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Featurebase on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users connect their Featurebase account?
Truto handles the auth flow and credential storage for Featurebase on your behalf, so your users complete a standard connect flow in your app and you get a tenant-scoped connection you can call the Featurebase API with.
Which Featurebase objects can I read and write through Truto?
Truto exposes the full Featurebase surface area including Posts, Comments, Voters, Insights, Boards, Changelogs, Conversations, Tickets, Contacts, Companies, Help Center articles, API specs, Training Data, Webhooks, Teams, Admins, and Reports.
Can I subscribe to real-time events from Featurebase?
Yes. You can programmatically create and manage Featurebase webhooks through Truto to receive events for posts, comments, conversations, tickets, and other objects without each customer manually configuring them.
Does Truto support Featurebase custom fields and ticket custom fields?
Yes. You can list conversation attributes, custom fields, and ticket custom fields through Truto so your integration can render and write to tenant-specific schemas without hardcoding.
Can I attach a customer quote as evidence under an existing feature request?
Yes. Truto exposes the post insight link and unlink operations, so you can file verbatim quotes from external sources as insights on the relevant Featurebase post.
How does Truto handle pagination and rate limits for Featurebase?
Truto normalizes pagination across list endpoints and transparently handles Featurebase's rate limiting with retries and backoff, so you can iterate large datasets like posts, conversations, or contacts without writing that logic yourself.
From the Blog
Featurebase integration guides
Deep dives, architecture guides, and practical tutorials for building Featurebase integrations.
Featurebase
Get Featurebase integrated into your app
Our team understands what it takes to make a Featurebase integration successful. A short, crisp 30 minute call with folks who understand the problem.