Skip to content

User Directory · Beta

Staffbase
API integration

Ship User Directory features without building the integration. Full Staffbase API access via Proxy and 140+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Staffbase

Use Cases

Why integrate with Staffbase

Common scenarios for SaaS companies building Staffbase integrations for their customers.

01

Sync HRIS data into Staffbase for targeted comms

HR and workforce platforms can keep Staffbase's employee directory and groups automatically up to date, so internal comms teams can target the right employees by location, department, or shift without manual CSV uploads.

02

Syndicate recognition and content into the employee app

Recognition, LMS, CMS, and policy management platforms can push shoutouts, training content, or SOPs directly into Staffbase channels and pages, reaching deskless workers who never log into your product directly.

03

Trigger high-priority push alerts to frontline workers

Safety, incident management, and IT service platforms can send instant push notifications through Staffbase's mobile app, bypassing email to reach shift workers during outages, hazards, or facility closures.

04

Pull engagement analytics into BI and people dashboards

BI, people analytics, and employee experience tools can ingest Staffbase post, page, and email engagement metrics to correlate internal comms with retention, productivity, and campaign ROI.

05

Automate onboarding and offboarding workflows

Onboarding and identity platforms can provision new hires into Staffbase, assign them to the right groups, and clean up sessions and accounts on termination — all driven by lifecycle events in your product.

What You Can Build

Ship these features with Truto + Staffbase

Concrete product features your team can ship faster by leveraging Truto’s Staffbase integration instead of building from scratch.

01

Two-way employee directory sync

Keep users in sync between your product and Staffbase using list, create, update, partial update, and delete operations on Staffbase users.

02

Automated group membership management

Create and update Staffbase groups and bulk-assign members based on location, department, or shift changes coming from your HRIS or scheduling product.

03

Native news and page publishing

Let customers publish channel posts, news pages, and media (images and video) from your product directly into their Staffbase intranet and mobile app.

04

Push notification broadcasting

Send branch, installation, or targeted notifications from your platform to Staffbase mobile users for incidents, approvals, or time-sensitive updates.

05

Engagement analytics ingestion

Pull post timeseries, page stats, page views, rankings, and email performance events into your analytics product to measure comms impact.

06

Campaign and template orchestration

Create, update, and manage Staffbase campaigns, templates, and campaign references to drive multi-step comms programs from inside your SaaS.

SuperAI

Staffbase AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_staffbase_users

List all users in Staffbase with their available data. Returns: activated, avatar, config, created, department, emails, externalID, firstName, groupIDs, id, lastName, location, phoneNumber, position, profile, publicEmailAddress, role, status, updated, contacts. The v1 endpoint returns only activated users by default.

create_a_staffbase_user

Invite a new user to the Staffbase platform. Returns the created user including id, role, status, emails, and created. Requires role.

staffbase_users_search

Search users in Staffbase based on the provided search criteria. Returns: total, nextCursor, prevCursor, entries.

get_single_staffbase_user_by_id

Get a single Staffbase user by id. Returns: activated, avatar, config, created, department, emails, externalID, firstName, groupIDs, id, lastName, location, phoneNumber, position, profile, publicEmailAddress, role, status, updated, AdministrativeToken. Required: id.

update_a_staffbase_user_by_id

Update a Staffbase user by applying an incremental update to the user with the given id. Returns the updated user object including id, email, userName, role, status, and profile. Required: id. This legacy endpoint is deprecated; use the PATCH method instead.

delete_a_staffbase_user_by_id

Delete a Staffbase user by id. Deleted accounts cannot be restored by administrators or Staffbase, and the last remaining administrator cannot be deleted. Returns an empty 204 response on success. Required: id.

staffbase_users_partial_update

Partially update a Staffbase user, providing only the fields to change. Returns the updated user: id, email, role, status, createdAt, profile, userName. Required: user_id. User API v1 is deprecated.

list_all_staffbase_user_groups

List the Staffbase groups a specific user is a member of. Returns: id, externalID, name, type, ownerID, users. Required: user_id. Max 100 per page.

staffbase_user_groups_search

Search the groups of a Staffbase user by group name, sorted by creation date. Returns: id, attributes, AdministrativeToken. Required: user_id.

get_single_staffbase_groups_visible_by_id

List the Staffbase groups visible to a user, filtered by group type with conditional groups omitted. Returns: id, externalID, name, type, ownerID, users. Required: id.

create_a_staffbase_user_recovery

Send an account recovery email to a Staffbase user. Returns an empty 202 response on success — the API only confirms the recovery mail was sent. Required: user_id.

staffbase_user_sessions_bulk_delete

Log a user out of Staffbase by invalidating all their active sessions. Returns a 202 status with no payload on success. Required: user_id.

list_all_staffbase_users_syncs

List Staffbase users ordered by their updated timestamp for incremental synchronization. Returns: activated, avatar, config, created, department, emails, externalID, firstName, groupIDs, id, lastName, location, phoneNumber, position, profile, publicEmailAddress, role, status, updated. Max 1000 per page.

list_all_staffbase_groups

List all groups on the Staffbase platform sorted by name. Returns: id, accessorIds, adminIds, externalId, config, type, creator, updatedAt, inclusions, inclusionUserIds, exclusions, exclusionUserIds. Max 500 per page.

create_a_staffbase_group

Create a new group on the Staffbase platform; the group type is determined by the configuration settings you provide. Returns: id, accessorIds, adminIds, externalId, config, type, creator, updatedAt, inclusions, inclusionUserIds, exclusions, exclusionUserIds. Required: config.

staffbase_groups_search

Search groups on the Staffbase platform by free-text query or filter by name, type, creator, and permission. Returns: data. All filters are optional.

get_single_staffbase_group_by_id

Get the details of a specific Staffbase group by id. Returns: id, accessorIds, adminIds, externalId, config, type, creator, updatedAt, inclusions, inclusionUserIds, exclusions, exclusionUserIds, AdministrativeToken. Required: id.

update_a_staffbase_group_by_id

Update a Staffbase group by id; only fields provided in the body are changed (does not apply to nested fields like localization). Returns: id, accessorIds, adminIds, externalId, config, type, creator, updatedAt, inclusions, inclusionUserIds, exclusions, exclusionUserIds, AdministrativeToken. Required: id.

delete_a_staffbase_group_by_id

Delete a group in Staffbase by its group identifier. Returns an empty 204 response on success. Required: id.

list_all_staffbase_branch_channels

List all Staffbase news channels that are manageable by the current accessor (API token or user), including channels that are not published. Returns channel records with id and attributes (the channel fields defined upstream).

list_all_staffbase_channels

List news channels in Staffbase that are accessible to the current API token or user. Returns: id, name. Supports searching by channel name via the query parameter. Max 100 per page.

get_single_staffbase_channel_by_id

Get a single Staffbase news channel by its id. Returns the channel object with its id and name. Required: id.

list_all_staffbase_channel_posts

List the news posts of a Staffbase news channel. Returns each post with id, externalID, planned, published, and contents. Required: channel_id. Max 100 per page.

create_a_staffbase_channel_post

Create a new news post in a Staffbase news channel. Returns the newly created post including id, externalID, planned, published, contents, and campaignId. Required: channel_id, contents.

list_all_staffbase_posts

List all Staffbase news posts that are accessible for the current accessor. Returns post records with id, externalID, planned, published, contents, and campaignId. Supports query, sort, manageable, and contentType filters.

staffbase_posts_search

Search Staffbase news posts for a query matching the content, hashtags, image description, teasers, or titles. Returns matching posts with id, externalID, planned, contents, and campaignId. Endpoint is in Beta and may still undergo changes.

get_single_staffbase_post_by_id

Get a single Staffbase news post by id. Returns the full post object including id, externalID, planned, published, contents, and campaignId. The id can be either the system-assigned post ID or the externalID supplied on creation. Required: id.

update_a_staffbase_post_by_id

Update a Staffbase news post by id with the data provided in the request. Returns the updated post including id, externalID, planned, published, contents, and campaignId. Campaign assignment is managed through the Campaigns API, not this endpoint. Required: id.

delete_a_staffbase_post_by_id

Delete a Staffbase news post by id; the post is removed from the system or moved to trash if trash is active on the platform. Returns an empty 204 response on success. Required: id.

create_a_staffbase_post_notification

Resend notifications for a news post in Staffbase. Returns the created resend configuration including email, push, recipients, and per-locale contents. Required: post_id, email, push, recipients.

list_all_staffbase_post_acknowledgements

List acknowledgements for a Staffbase news post, most recent acknowledgements first. Returns acknowledgement records with id and attributes (the user who acknowledged the post and the point in time they did so); attribute fields are defined upstream and not enumerated in the docs. Required: post_id.

list_all_staffbase_newspage_posts

List Staffbase news page posts for the client view, ordered by publish date; only posts accessible to the current accessor are included. Returns: id, attributes. Required: news_page_id.

list_all_staffbase_newspage_channels

List channels of a Staffbase news page in which the current accessor (API token or user) is a contributor and therefore allowed to create posts. Returns channel records with id. Required: news_page_id. Max 10 per page.

list_all_staffbase_newspage_rights

List the rights the current accessor (API token or user) has on a Staffbase news page, to determine whether it may contribute to news channels assigned to the page. Returns an array of right strings such as "CONTRIBUTE" when contribution is allowed. Required: news_page_id.

list_all_staffbase_pages

List Staffbase pages with their content. Filter by spaceIds, status, and sort with orderBy. Returns: id, spaceId, createdAt, updatedAt, title.

create_a_staffbase_page

Create a page in a Staffbase space. Returns the created page with id, contents, spaceId, createdAt, and publishedAt. Required: contents.

get_single_staffbase_page_by_id

Get a single Staffbase page by id, including its localized content and access settings. Returns: id, createdAt, updatedAt, title. Required: id.

update_a_staffbase_page_by_id

Update the content and details of a Staffbase page by id. Returns: id, createdAt, updatedAt, title. Required: id, contents.

delete_a_staffbase_page_by_id

Delete a Staffbase page by id. Returns an empty 204 response on success. Required: id.

list_all_staffbase_pages_syncs

List Staffbase pages updated or deleted within the last 60 days, paged by cursor. Returns each sync entry with state and the page entity including id, branchId, spaceId, contents, timestamps, ownerId, readers, and admins; deleted entries carry only id, branchId, spaceId, and deletedAt.

list_all_staffbase_chats_timeseries

Get Staffbase chat timeseries stats about active chat users, active group conversations and active direct conversations. Returns: activeChatUsers, activeDirectConversations, activeGroupConversations, group. Prefer format=json over csv. Required: groupBy.

list_all_staffbase_contents_rankings

List Staffbase content rankings — content with its branch, space, and publicity context ranked descending by visits. Returns: group, registeredVisitors, registeredVisits, unregisteredVisitors, unregisteredVisits. Supports SCIM filtering, result grouping, and CSV output via format=csv.

list_all_staffbase_pages_rankings

List Staffbase pages ranked by their usage statistics for a reporting interval. Returns: bounceRate, clicks, id, menuId, pageTitle, secondsSpent, sessions, shortSessions, spaceId, spaceName, viewers, views. Required: since, until.

list_all_staffbase_pages_timeseries

Get the Staffbase pages timeseries: page views and unique visitors grouped into day, week, or month buckets. Returns: date, views, visitors. Required: since, until, groupBy.

list_all_staffbase_views_streams

List Staffbase page view counts for all currently published pages over an interval. Returns: pageId, viewCount. Required: since, until. Response is a newline-delimited JSON stream with one object per line.

get_single_staffbase_page_click_ranking_by_id

Get the aggregated click ranking for a specific Staffbase page, ranked by how many times each URL or element was clicked. Returns: clickCount, title, url. Limit must be between 1 and 10000. Required: id, since, until.

list_all_staffbase_page_group_rankings

List the Staffbase groups whose members visited a specific page, ranked by the number of unique visitors per group. Returns: groupId, groupName, visitors. Required: page_id, since, until.

get_single_staffbase_page_histogram_by_id

Get the time-distribution histogram for a specific Staffbase page, grouping visitor sessions into predefined time-spent buckets. Returns: count, seconds. Required: id, since, until.

list_all_staffbase_page_timeseries

Get detailed timeseries analytics for a single Staffbase page, including views, unique visitors, and total clicks grouped into time buckets. Returns: date, totalClicks, views, visitors. Required: page_id, since, until, groupBy.

list_all_staffbase_page_views

Get the total view count for a specific Staffbase page within the provided reporting interval. Returns: count. Required: page_id, since, until.

list_all_staffbase_page_traffic_sources

List Staffbase page traffic sources: visits to a specific page broken down by UTM parameters and platform. Returns: campaign, content, medium, platforms, source, term. Required: page_id, since, until.

list_all_staffbase_page_stats

Get analytics stats for a single Staffbase page, including views, visitors, clicks, and session metrics for the requested interval. Returns: avgTimeSpentSecs, returningVisitors, sessions, shortSessions, totalClicks, totalViews, uniqueClicks, uniqueVisitors. Required: page_id, since, until.

list_all_staffbase_posts_rankings

List Staffbase post analytics rankings with view, visitor, like, comment, and share stats for posts, ranked descending by visits. Returns: comments, group, likes, newPosts, registeredVisitors, registeredVisits, shares, unregisteredVisitors, unregisteredVisits. since and until become required on Oct 1, 2026.

list_all_staffbase_posts_timeseries

List Staffbase post analytics grouped into time buckets, covering views, unique visitors, likes, comments, and shares. Returns per-bucket stats: group, registeredVisitors, registeredVisits, unregisteredVisitors, unregisteredVisits, newPosts, comments, likes, and shares. Required: groupBy.

list_all_staffbase_users_timeseries

List Staffbase user timeseries stats grouped into time buckets. Returns: activeUsers, engagedUsers, group, registeredUsers, totalUsers. Required: groupBy, since, until.

staffbase_users_timeseries_search

Search Staffbase user timeseries with SCIM filtering, grouped into time buckets. Returns: activeUsers, engagedUsers, group. Required: groupBy. Deprecated; use the v2 timeseries endpoint.

list_all_staffbase_auditlogs

List Staffbase audit log entries as a newline-delimited JSON stream. Returns: event, finished, error. Entries are retained for up to six months.

list_all_staffbase_campaigns

List Staffbase campaigns with their analytics data. Returns: id, branchID, branchId, campaignId, sourceId, sourceType, publishedAt, scheduledFor, stats, emailData. Optional filters: sort, range, includeStats, query, withSourceType and withSourceId (must be paired), withinIds.

create_a_staffbase_campaign

Create a Staffbase campaign. Returns: id. Required: title. If provided, startAt and endAt must be set together with startAt earlier than endAt.

get_single_staffbase_campaign_by_id

Get a single Staffbase campaign by id. Returns: id, branchID, branchId, campaignId, sourceId, sourceType, publishedAt, scheduledFor, stats, emailData. Required: id.

update_a_staffbase_campaign_by_id

Update an existing Staffbase campaign by id. Returns the updated campaign with its id, sourceType, scheduledFor, stats, and emailData. Required: id, title. If provided, startAt and endAt must be set together with startAt earlier than endAt.

delete_a_staffbase_campaign_by_id

Delete a Staffbase campaign by id. Returns an empty 204 response on success. Required: id.

list_all_staffbase_campaign_references

List the content references attached to a Staffbase campaign. Returns a paginated list of references with id, sourceType, sourceId, campaign_id, publishedAt, scheduledFor, stats, and content-type-specific postData/emailData details. Required: campaign_id.

create_a_staffbase_campaign_reference

Attach a content piece (a POST or EMAIL) to a Staffbase campaign as a new campaign reference. Returns: sourceType, sourceId. Required: campaign_id.

delete_a_staffbase_campaign_reference_by_id

Detach a piece of content from a Staffbase campaign by removing its campaign reference. Returns an empty 204 response on success. Required: id, campaign_id, source_type.

create_a_staffbase_installation_conversation

Create a Direct or Group conversation with one or more partners in a Staffbase chat installation; an existing Direct conversation is updated with the provided message. Returns: id, installationID, type, creatorID, adminIDs, messageCount, meta, status. Required: chat_id, participantIDs.

delete_a_staffbase_conversation_by_id

Delete a Staffbase group conversation by id. Returns an empty 204 response on success. Required: id. Only group conversations can be deleted; one-on-one conversations cannot be deleted, and the API token must be the one that created the conversation.

list_all_staffbase_comments

List branch comments in Staffbase that are accessible for the API token. Returns comments with their id, created and updated timestamps, and comment attributes. Max 100 per page.

list_all_staffbase_users_imports

List all CSV imports performed in the last 30 days in Staffbase. Returns: entries, nextCursor, prevCursor.

create_a_staffbase_users_import

Upload a CSV file to Staffbase to create a new user import. Requires file (the CSV file to upload). Returns an empty 201 response; the created import's id is provided in the Location response header.

get_single_staffbase_users_import_by_id

Get the metadata of a specific CSV import in Staffbase. Returns: id, createdAt, fileName, fileSize, recordCount, state, owner. Required: id.

update_a_staffbase_users_import_by_id

Update the state of a CSV import in Staffbase to preview, import, or cancel it. Returns an empty 204 response on success. Imports cannot move back to an earlier state once they move forward. Required: id.

delete_a_staffbase_users_import_by_id

Delete a CSV import record in Staffbase by id. Returns an empty 204 response on success. Required: id.

get_single_staffbase_import_status_by_id

Get the current status and progress of a CSV user import in Staffbase. Returns: totalLines, completedLines, status, changes. Required: id.

get_single_staffbase_import_config_by_id

Get the CSV import configuration for a Staffbase CSV user import by id. Returns the configuration object including delta, removeAll, separator, encoding, generateRecoveryCodes, mail/report settings, import type, and the CSV-column-to-profile-field mapping. Required: id.

staffbase_import_configs_bulk_update

Update the import options (delta, removeAll, separator, encoding, mail/report settings) and the CSV-column-to-profile-field mapping for a Staffbase CSV import. Returns an empty 204 response on success. Required: import_id.

get_single_staffbase_import_changelog_by_id

Stream all changelog records for a Staffbase CSV user import in CSV format. Returns a raw CSV stream of changelog records (content-type text/csv; columns are not named in the docs). Required: id.

list_all_staffbase_medialibrary_collections

List media library collections in Staffbase that the API token has access to. Returns: id, name, accessorIds, adminIds, mediumCount, createdAt, updatedAt.

create_a_staffbase_medialibrary_collection

Create a media library collection in Staffbase with a unique name and granted manage/view access for users or groups. Returns: id, name, accessorIds, adminIds, mediumCount, createdAt, updatedAt. Requires name. Required: name.

get_single_staffbase_medialibrary_collection_by_id

Get a single media library collection by id in Staffbase. Returns: id, name, accessorIds, adminIds, mediumCount, createdAt, updatedAt. Required: id.

update_a_staffbase_medialibrary_collection_by_id

Update a media library collection's name and manage/view permissions in Staffbase. Returns: id, name, accessorIds, adminIds, mediumCount, createdAt, updatedAt. Required: id, name, accessorIds, adminIds.

delete_a_staffbase_medialibrary_collection_by_id

Delete a media library collection in Staffbase by id. Returns an empty 204 response on success. Required: id.

list_all_staffbase_collection_entries

List files in a Staffbase media library collection. Returns: id, created, createdBy, mimeType, type, original, fileName, fileExtension, referenceCount, playbackUrl, duration, thumbnail. Required: collection_id.

create_a_staffbase_collection_entry

Add one or more files to a Staffbase media library collection. Returns: entries. Required: collection_id, entries.

create_a_staffbase_entries_delete

Remove one or more files from a Staffbase media library collection. The files are only removed from the collection, not deleted from the platform. Returns an empty 204 response on success. Required: collection_id, entries.

list_all_staffbase_collections_alls

List all collections created in the Staffbase media library. Returns: id, name, accessorIds, adminIds, mediumCount, createdAt, updatedAt.

staffbase_medialibrary_entries_search

Search files in Staffbase's File Manager by type. Returns matching file entries including id, fileName, mimeType, type, thumbnail, duration, and referenceCount. Requires a JSON request body (filters, sortBy).

update_a_staffbase_medialibrary_entry_by_id

Update a media library entry in Staffbase by attaching an already uploaded file to the File Manager associated with the API token. Returns an empty 204 response on success. Required: id.

staffbase_entries_alls_search

Search all files in the Staffbase File Manager. Returns matching file entries including id, fileName, mimeType, type, playbackUrl, and created.

staffbase_installations_search

Search Staffbase installations (plugins added to your platform) by keywords in title, description, hashtags, or content. Returns: entries, total, nextCursor. Max 100 per page.

list_all_staffbase_media

List media in Staffbase, sorted by ID descending. Returns media records with id, ownerID, publicID, resourceInfo (file url, mimeType, bytes, dimensions), transformations, fileName, and created. Max 100 per page.

create_a_staffbase_media

Upload a file to Staffbase media in a single multipart request. Returns the created medium record with id, ownerID, publicID, resourceInfo, transformations, fileName, and created. Required: file. Optional metadata JSON can hint the file type (image, video, raw, auto) and override the fileName.

get_single_staffbase_media_by_id

Get a single Staffbase medium by id. Returns the full medium record with id, ownerID, publicID, resourceInfo (file url, mimeType, bytes, dimensions), transformations, fileName, and created. Required: id.

update_a_staffbase_media_by_id

Replace a Staffbase medium by uploading a new file; the medium and all its variants are replaced on the Staffbase and CDN servers. Returns an empty 204 response on success. Required: id, file, note.

delete_a_staffbase_media_by_id

Delete a Staffbase medium by id, immediately removing it and all its variants from the Staffbase and CDN servers. Returns an empty 204 response on success. Required: id.

staffbase_media_search

Search media in Staffbase by a search term matching filename, content, or type. Returns matching media records including id, fileName, publicID, resourceInfo (URL, size, mime type), and preview transformations. This endpoint is in Beta.

staffbase_media_publishes_bulk_update

Make Staffbase media URLs publicly accessible by appending a shareable media token so third parties can access them without a session or API token; shared URLs cannot be revoked. Returns: urls. Required: urls.

create_a_staffbase_branch_notification

Create and send a Staffbase branch notification to the specified users, user groups, or all platform users via the defined channels. Returns: notificationId. If channels is omitted, the notification is sent to all available channels. Required: accessorIds, content.

create_a_staffbase_installation_notification

Send a Staffbase plugin notification: create a notification and deliver it to the specified users or user groups who have access to the given plugin instance, using the defined channels. Returns: notificationId. Required: installation_id, accessorIds, content.

create_a_staffbase_notification

Send a notification to alert Staffbase App or Intranet users about available content. Returns: notificationId. Deprecated — this endpoint will be removed by the end of 2025; use the Send a notification or Send a plugin notification endpoints instead.

list_all_staffbase_templates

List page templates in Staffbase, sorted ascending by title. Returns: id, title, content, config. Max 1000 per page.

create_a_staffbase_template

Create a page template in Staffbase. Returns the created template with id, title, content, and config. Required: title.

get_single_staffbase_template_by_id

Get a single page template by id in Staffbase. Returns the page template with its id and title. Required: id.

update_a_staffbase_template_by_id

Update a page template by id in Staffbase. Returns: id, title, content. Required: id, title.

delete_a_staffbase_template_by_id

Delete a page template by id in Staffbase. Returns an empty 204 response on success. Required: id.

staffbase_profiles_search

Search Staffbase user profiles by a query string across searchable profile fields like names, usernames, and email addresses. Returns each matching profile entry with its internalUserId and profile field values such as firstName, lastName, position, department, location, phoneNumber, and publicEmailAddress. Max 500 per page.

list_all_staffbase_branch_quicklinks

List all Staffbase Quick Links for a given platform. Returns Quick Link objects with id, platform, localization, logo, icon, accessorIds, link, and priority. Required: platform.

create_a_staffbase_branch_quicklink

Create a new Quick Link in Staffbase. Returns the created Quick Link with id, platform, localization, logo, icon, accessorIds, link, priority, and menuNodeId. Required: platform.

get_single_staffbase_branch_quicklink_by_id

Get a single Staffbase Quick Link by id. Returns the Quick Link with id, platform, localization, logo, icon, accessorIds, link, priority, and menuNodeId. Required: id.

update_a_staffbase_branch_quicklink_by_id

Update a Staffbase Quick Link by id, providing only the properties to change. Returns the updated Quick Link with id, platform, localization, logo, icon, accessorIds, link, and priority. Required: id.

delete_a_staffbase_branch_quicklink_by_id

Remove a Staffbase Quick Link by id. Returns an empty 204 response on success. Required: id.

list_all_staffbase_tags

List Staffbase user tags, optionally filtered by tag value. Returns: id, value. The tag filter must use the profile:tagname:value format (e.g. profile:city:berlin). Default 50 per page.

list_all_staffbase_search_settings

Get the Staffbase search settings for the redesigned search results page. Returns: branchId, general, internalSections, integrationSections.

staffbase_search_settings_bulk_delete

Delete the custom search settings in Staffbase, reverting the search's behavior to the default. Returns an empty 204 response on success.

update_a_staffbase_settings_internal_section_by_id

Update the search settings of a Staffbase internal section by id (one of news, pages, people, forms, events, files, apps). Returns: id, enabled, searchable, title, displayType, filters, pageSize, sortingOptions, and 4 more. Required: id, enabled, title, displayType, pageSize, iconUrl, datePrefix, orderId, sortingOptions. iconUrl cannot be changed.

update_a_staffbase_settings_integration_section_by_id

Update the search settings for a Staffbase integration section by id. Returns the updated section including id, enabled, searchable, title, displayType, pageSize, and integration. Required: id.

staffbase_settings_generals_bulk_update

Update the general search settings in Staffbase, including localization strings, search flyout visibility, and the search redirect URL. Returns: localizations, showFlyout, redirectUrl, redirectUrlMobile.

list_all_staffbase_spaces

List all spaces in the Staffbase platform. Returns each space with its id, name, adminIDs, accessorIDs, sections, and parentId. Max 100 per page.

create_a_staffbase_space

Create a space in Staffbase. Returns the created space object including id, name, branchID, adminIDs, accessorIDs, and sections. Required: name.

staffbase_spaces_search

Search Staffbase spaces by search term with optional sorting and section filters. Returns matching spaces including their id, name, adminIDs, sections, and createdAt. Max 100 results per page; use the list spaces endpoint to retrieve all spaces without a query or filters.

get_single_staffbase_space_by_id

Get a space in Staffbase by id. Returns the space object including id, name, branchID, childIds, adminIDs, accessorIDs, accessors, links, and sections. Required: id.

update_a_staffbase_space_by_id

Update a space in Staffbase by id. Returns the updated space object including id, name, branchID, adminIDs, accessorIDs, and sections. Required: id.

delete_a_staffbase_space_by_id

Delete a Staffbase space by id. The space is permanently removed from the platform. Returns an empty 204 response on success. Required: id.

list_all_staffbase_email_performance_emails

List all sent emails in Staffbase Email for which the Email Performance API has retrieved tracking data. Returns a paginated list of email records, each with an id and metadata attributes whose fields are defined by the Email Performance API's Email schema. Use cursor to paginate when more results are available.

get_single_staffbase_email_performance_email_by_id

Get the metadata for a specific sent email in Staffbase Email by id. The id must be an emailId as returned by ListEmails, and metadata exists only for sent emails whose tracking data has already been retrieved. Returns the email record: id and metadata attributes, whose fields are defined by the Email Performance API's Email schema. Required: id.

list_all_staffbase_email_performance_events

Stream email tracking events (such as sent, open, click, and bounce) for a Staffbase Email Designer email in real time. Returns a raw event stream with id, email_id, eventSubject, eventType, eventTime, and eventGroupIds per event. Required: email_id, since, until. Maximum interval between since and until: 31 days.

list_all_staffbase_email_performance_clicks

Retrieve click rate data for a specific email created in the Staffbase Email Designer, including the percentage of recipients who clicked a link plus total and unique link click counts. Returns: totalClicks, uniqueClicks, percentage, lastClickRecorded. Required: email_id.

get_single_staffbase_email_performance_engagement_trend_by_id

Get the engagement trend (clicks, opens, and total recipients) for a Staffbase Email Designer email by id. Returns: totalRecipients, opens, clicks. Required: id.

list_all_staffbase_email_performance_opens

Retrieve the open rate for a specific email created in the Staffbase Email Designer. Returns: totalOpens, uniqueOpens, percentage. Required: email_id.

get_single_staffbase_email_performance_recipient_count_by_id

Get the recipient count for a specific email created in the Staffbase Email Designer, optionally filtered by a target audience user group. Returns: totalRecipients, targetAudience. Required: id.

list_all_staffbase_email_performance_top_clicked_links

List the top clicked links for a Staffbase Email Designer email, with unique click counts per link. Returns a links map whose entries include name, percentage, target, uniqueClicks, and uniqueOpens. Required: email_id.

get_email_performance_total_activity_over_time_by_id

Get total activity over time (clicks and opens) for a specific Staffbase Email Designer email within a time interval. Returns: opens, clicks, interval. Required: id, groupBy, since, until, timezone.

get_email_performance_unique_activity_over_time_by_id

Retrieve unique activity (unique clicks and opens) over time for a specific Staffbase Email Designer email, grouped into time buckets. Returns: opens, clicks, interval. Required: id, groupBy, since, until, timezone.

list_all_staffbase_email_performance_user_groups

List the user groups (target audience groups) associated with a specific email created in the Staffbase Email Designer. Returns an array of user group IDs. Required: email_id.

list_all_staffbase_contacts

List all contacts of your Employee Email (Classic) Contacts Directory in Staffbase. Returns contact records with firstName, lastName, email, location, department, jobTitle, and customFields.

staffbase_contacts_bulk_delete

Delete contacts from your Employee Email (Classic) Contacts Directory by their email addresses. Returns an empty 204 response on success. Requires an array of contact email addresses as the request body. Required: emails.

create_a_staffbase_contacts_upload

Upload a contacts file to Staffbase Employee Email (Classic) to add contacts to the Contacts Directory. Processing is asynchronous; Returns: importID.

get_single_staffbase_contacts_import_by_id

Get the state of a contacts import in Staffbase Employee Email (Classic) by id. Returns: importID, status, successCount, errorCount. Required: id.

list_all_staffbase_search_group_members

List members of a Staffbase group, sorted by name, with name search and user-status filtering. Returns member entries including id and member attributes. Required: group_id. Max 500 per page.

staffbase_search_group_members_bulk_update

Add members to a Staffbase group. Each member is given as a Staffbase user id or email address in userIds. Returns an empty 204 response on success. Required: group_id.

list_all_staffbase_import_errors

Stream all error records of a Staffbase CSV import. Returns a text/csv stream where each row pairs a record number with its error message, e.g. "2","Emails is already taken: test@example.com. (40007)". Required: import_id.

list_all_staffbase_client_channel_posts

List the news posts of a single Staffbase news channel (client view), ordered by published date descending. Returns: id, externalID, planned, published, contents. Required: channel_id.

Why Truto

Why use Truto’s MCP server for Staffbase

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 1000+ integrations.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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 Staffbase in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.

01

Link your customer’s Staffbase account

Use Truto’s frontend SDK to connect your customer’s Staffbase account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

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.

03

Call our API, we call Staffbase

Truto’s Proxy API is a 1-to-1 mapping of the Staffbase API. You call us, we call Staffbase, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Staffbase’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Staffbase on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for Staffbase through Truto?

Truto handles the Staffbase API token exchange and credential storage on behalf of your end users. Your users connect their Staffbase tenant once, and Truto manages the auth headers and token lifecycle for every subsequent API call.

Can we provision users and assign them to groups automatically?

Yes. You can create and update users via create_a_staffbase_user, update_a_staffbase_user_by_id, and staffbase_users_partial_update, and manage group membership using the Staffbase groups endpoints plus staffbase_search_group_members_bulk_update for bulk assignments.

Can we send push notifications to specific employee groups?

Yes. Truto exposes create_a_staffbase_notification, create_a_staffbase_branch_notification, and create_a_staffbase_installation_notification, letting you target individual branches, installations, or the entire workforce with push alerts.

What engagement analytics can we pull out of Staffbase?

You can access post and page timeseries, page views, traffic sources, click rankings, content rankings, user timeseries, and detailed email performance data including opens, clicks, events, and top clicked links.

Does Truto handle pagination and rate limits for Staffbase?

Yes. Truto normalizes pagination across list endpoints and manages retries and backoff when Staffbase enforces rate limits, so you don't have to build that logic into your integration.

Can we upload media and attach it to posts or pages?

Yes. Use create_a_staffbase_media to upload images and videos, then reference that media when creating channel posts, pages, or news content through the corresponding create endpoints.

Is this a prebuilt unified API or a direct Staffbase integration?

This is a direct Staffbase integration exposed through Truto's standardized interface. There is no unified User Directory API grouping yet, so you work with Staffbase-native resources like users, groups, channels, posts, pages, campaigns, and notifications.

Staffbase

Get Staffbase integrated into your app

Our team understands what it takes to make a Staffbase integration successful. A short, crisp 30 minute call with folks who understand the problem.