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 usUse Cases
Why integrate with Staffbase
Common scenarios for SaaS companies building Staffbase integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
Push notification broadcasting
Send branch, installation, or targeted notifications from your platform to Staffbase mobile users for incidents, approvals, or time-sensitive updates.
Engagement analytics ingestion
Pull post timeseries, page stats, page views, rankings, and email performance events into your analytics product to measure comms impact.
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.
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 Staffbase in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.
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.
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 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.
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.
From the Blog
Staffbase integration guides
Deep dives, architecture guides, and practical tutorials for building Staffbase integrations.
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.