HRIS · Beta
Namely
API integration
Ship HRIS features without building the integration. Full Namely API access via Proxy, normalized data through Unified APIs, and 50+ MCP-ready tools for AI agents — all extensible to your exact use case.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Namely
Common scenarios for SaaS companies building Namely integrations for their customers.
Sync employee rosters to power identity and access management
IT security and IAM platforms can pull the full employee directory from Namely — including active/inactive status and department membership — to automate software provisioning and deprovisioning without manual CSV imports.
Automate org hierarchy for approval routing
Spend management, procurement, and workflow tools can read Namely's 'Reports To' manager field and department groups to build dynamic approval chains that stay current as employees change roles.
Trigger onboarding workflows from new hire events
LMS, IT asset, and onboarding platforms can detect newly created employee profiles in Namely and kick off location- or department-specific workflows — like enrolling a new hire in compliance training or shipping hardware.
Keep employee data fresh across your product
Any B2B SaaS app that needs accurate people data — names, emails, job titles, departments — can treat Namely as the source of truth and sync changes continuously through Truto's Unified HRIS API.
Automate offboarding when employees are terminated
Security, finance, and collaboration tools can react to terminated employee statuses in Namely to revoke access, reclaim licenses, and freeze corporate cards without waiting for a manual HR ticket.
What You Can Build
Ship these features with Truto + Namely
Concrete product features your team can ship faster by leveraging Truto’s Namely integration instead of building from scratch.
Real-time employee directory sync
Continuously import and update employee profiles — including name, email, title, start date, and status — from Namely into your product using the Unified Employees model.
Dynamic manager-based approval chains
Map Namely's 'Reports To' hierarchy to automatically route approvals, reviews, or escalations to the correct manager inside your app.
Department and location-aware automation rules
Read Namely's Groups data to trigger different workflows based on an employee's department, division, or office location — such as assigning region-specific training or budget policies.
Automated new hire detection and onboarding kickoff
Poll or listen for new employee profiles in Namely and automatically enroll them in your product's onboarding flow with the right permissions and configuration.
Offboarding and access revocation pipeline
Detect inactive or terminated employee statuses and trigger downstream cleanup — revoking licenses, archiving accounts, or notifying admins — with zero manual intervention.
Company-level configuration sync
Pull top-level organizational details from Namely's company data to auto-configure tenants, enforce locale-specific settings, or validate address formats in your product.
SuperAI
Namely 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_namely_companies_info
Get information about the company in Namely. Returns the company record including its id and company-specific attribute fields.
list_all_namely_profiles
List Namely profiles. Returns each profile's id, created_at, and updated_at. Supports page and per_page (max 50), sort, profile_format, and filters passed as filter[first_name], filter[last_name], filter[email], filter[personal_email], filter[job_title], filter[reports_to] or filter[user_status]. Rate limited to 100 requests per minute.
get_single_namely_profile_by_id
Get a single Namely profile by id. Returns the profile's id, created_at, and updated_at. Required: id.
create_a_namely_profile
Create a profile (employee record) in Namely. Send the profile fields inside the profiles array in the body; first_name, last_name, email and user_status are the minimum. Set a start_date and job_title where known. To create the profile as a draft Onboarding session instead, the Onboarding feature must be enabled for the company and the request must include the onboarding session fields documented on the Create a Profile page. Returns the created profile under profiles with its id, created_at and updated_at. Returns: id, created_at, updated_at, first_name, last_name, email, user_status, start_date, job_title, links.
update_a_namely_profile_by_id
Update a profile in Namely by id. Only include the fields that should change inside the profiles array in the body; omitted fields are left as they are. Salary, job title, reports_to and other effective-dated fields are set the same way as on create. Returns the updated profile under profiles. Returns: id, created_at, updated_at, first_name, last_name, email, user_status, start_date, job_title, links. Required: id.
list_all_namely_groups
List the groups that belong to a group type in Namely. Returns: id, created_at, updated_at. Required: group_id.
namely_groups_list_all
Returns an array of all groups. Every group must belong to one and only one group type. Each group type can have zero to many associated groups. Although not present in this endpoint, each group can also have zero to many associated profiles (i.e. people within groups). Office Locations and Departments are groups. Lists every group across all group types; use groups.list to list the groups of one group type. Returns: id, title, type, is_team, address, count, links.
get_single_namely_group_by_id
Returns same information about the group as in the corresponding list endpoint, as well as linked any profiles associated with that group (zero to many). Returns: id, title, type, address, links, linked. Required: id.
list_all_namely_folders
This endpoint returns a list of folders and their information. Returns: id, title, type, items_count, position.
create_a_namely_folder
To create a folder, a title is required. An array of folders will be returned upon success, similar to folders index endpoint. Returns: id, title, type, items_count, position.
update_a_namely_folder_by_id
Updates the name of a folder. Returns: id, title, type, items_count, position. Required: id.
delete_a_namely_folder_by_id
You must pass in the folder id to delete a specific folder. Required: id.
get_single_namely_resource_by_id
Specify the id of the resource to get a complete description. Please see "Download Resource" documentation to actually download a specific resource. Returns the resource record (Namely nests it under "groups" in the raw response). Returns: id, title, link, file_name, file_format, file_size, file_url, last_edited, folder_id. Required: id.
list_all_namely_resources
Get Resources not in a Folder Lists resources that are not in any folder. Returns: id, title, link, file_name, file_format, file_size, file_url, last_edited, folder_id.
list_all_namely_folder_resources
This method returns an array of resources, whose format and content will be the same as the show resource endpoint. Returns: id, title, link, file_name, file_format, file_size, file_url, last_edited, folder_id. Required: folder_id.
delete_a_namely_folder_resource_by_id
This endpoint deletes a specified resource. Pass the resource id as id. Required: id.
list_all_namely_group_types
Returns an array of all group types. Although not present in this endpoint, every group must belong to one and only one group type. Each group type can have zero to many associated groups. Each group type can also have zero to many associated profiles (i.e. people within groups that belong to those group types). Returns: id, field_name, title, deletable, type, x_groups_as_teams.
get_single_namely_group_type_by_id
Returns same information about the group as in the corresponding list endpoint, as well as linked any profiles associated with that group type (zero to many). Returns: id, field_name, title, deletable, type, x_groups_as_teams. Required: id.
list_all_namely_teams
Returns an array of all teams as well as linked, a list of team categories. Every team can belong to zero to many team categories. Each team category can have zero to many associated teams. Although not present in this endpoint, each team can also have zero to many associated profiles (i.e. people within teams). Returns: id, name, email, updated_at, created_at, links.
get_single_namely_team_by_id
Get a Team Returns: id, name, email, updated_at, created_at, links. Required: id.
list_all_namely_events
Returns all events, paginated. Linked to the event is an array of any profiles that commented on the event. Only events associated with the profiles of active employees are eligible to appear. To filter by type (birthday, announcement, recent_arrival, anniversary) pass the query parameter filter[type]. Paginate manually with limit and after. Returns: id, href, type, time, ufc_offset, content, html_content, years_at_company, use_comments, can_comment.
create_a_namely_event
Creates an announcement. Other event types are auto-generated and cannot be manually created. The file parameters allow you to include a file which is located in the announcement. As with uploading a file to a profile, the file must be previously uploaded via the `file create` endpoint. Creates an announcement on the home feed. Returns: id, href, type, time, ufc_offset, content, html_content, years_at_company, use_comments, can_comment.
get_single_namely_event_by_id
Returns information about a single event. Returns: id, href, type, time, ufc_offset, content, html_content, years_at_company, use_comments, can_comment. Required: id.
delete_a_namely_event_by_id
Delete a particular event. Deletes an announcement. Returns: message. Required: id.
list_all_namely_event_comments
Returns all comments associated with a particular event. Returns: id, content, html_content, created_at, can_destroy, links, utc_offset, likes_count, liked_by_current_profile. Required: event_id.
create_a_namely_event_comment
Creates a comment on a particular event. Returns: id, content, html_content, created_at, can_destroy, links, utc_offset, likes_count, liked_by_current_profile. Required: event_id.
delete_a_namely_event_comment_by_id
Delete a particular comment on an event. Pass the comment id as id. Returns: message. Required: id, event_id.
list_all_namely_event_likes
Returns a list of profiles that liked a particular event. Returns: id, href, full_name, job_title, links. Required: event_id.
create_a_namely_event_like
Like a particular event simply by `POST`ing to the endpoint with its id in the path parameters. No request body. Returns: likes_count, liked_by_current_profile. Required: event_id.
delete_a_namely_event_like_by_id
Delete a particular like from an event. Pass the event id as id; removes the token bearer's like. Returns: message. Required: id.
list_all_namely_comment_likes
Returns a list of profiles that liked a particular comment on a particular event. Returns: id, href, full_name, job_title, links. Required: comment_id.
create_a_namely_comment_like
Like a comment on a home feed event as the token bearer. Pass the comment id as comment_id. No request body, and Namely does not document a response body for this call; a 2xx status means the like was recorded. Required: comment_id.
delete_a_namely_comment_like_by_id
Delete your like from a particular comment. You can only delete your own like (from the profile related to the token). Pass the comment id as id; removes the token bearer's like. Returns: message. Required: id.
list_all_namely_job_tiers
Returns an array of all job tiers. Each job tier can have zero to many linked job titles (while each job title must have one and only one linked job tier). Returns: id, numerical_id, title, links.
create_a_namely_job_tier
Creates a job tier. Returns: id, numerical_id, title, links.
get_single_namely_job_tier_by_id
Returns information about a single job tier. Returns: id, numerical_id, title, links. Required: id.
update_a_namely_job_tier_by_id
Updates the label of a job tier. Use the corresponding list endpoint to get a list of job tiers, whose id is used in the path parameters. Returns: id, numerical_id, title, links. Required: id.
list_all_namely_job_titles
Returns all job titles. Each job title must have one and only one linked job tier (and each job tier can have zero to many linked job titles). When using the corresponding list endpoint, the API user must either use the title or id of a job_title . Returns: id, parent_id, title, links.
create_a_namely_job_title
Creates a job title. Use the corresponding list endpoint to get a list of job tiers, whose id is used to populate the value for the parent (job tier) key in the request body. Returns: id, parent_id, title, links.
get_single_namely_job_title_by_id
Returns information about a single Job Title.. When using the corresponding list endpoint, the API user must either use the title or id of a job_title . Returns: id, parent_id, title, links. Required: id.
update_a_namely_job_title_by_id
Updates the label and/or parent (job tier) of a job title. Use the corresponding list endpoint to get a list of job tiers, whose id is used to populate the value for the parent (job tier) key in the request body. If not updating the parent , use the id of the current parent value; if not updating the title , use the current job title title . Returns: id, parent_id, title, links. Required: id.
list_all_namely_countries
Returns all valid countries in Namely. A country is universal and may not be modified. Returns: id, name, subdivision_type.
get_single_namely_country_by_id
Returns one country, as well as a list of a country’s subdivisions (e.g. a list of its states or provinces). Returns: id, name, subdivision_type, links. Required: id.
list_all_namely_notifications
Returns all notifications for the current API user/token bearer. There are three main types of notifications: 1. Time Off 2. Mentioned/Appreciated 3. Generic (All Other) Notifications for the token bearer. Returns: id, text, type, timestamp, seen, read, links.
list_all_namely_profile_notifications
Returns notifications for a profile in a paginated form. By default, there will be 30 notifications per page. At most, you can request 50 notifications per page. There are three main types of notifications: 1. Time Off 2. Mentioned/Appreciated 3. Generic (All Other) Paginated with page and per_page (default 30, max 50). Returns: id, text, type, timestamp, seen, read, links. Required: profile_id.
list_all_namely_profile_fields
Returns all profiles fields as configured at your company with instructions on valid format for passing through the API. This includes custom fields, but exceptions can be found on the the related endpoint page. Returns: id, name, label, type, default, deletable, valid_format_info, block_index, links.
create_a_namely_profile_field
Creates a profile field within a profile field section. Returns: id, name, label, type, default, deletable, valid_format_info, block_index, links.
get_single_namely_profile_field_by_id
Returns information about a single Profile Field. Returns: id, name, label, type, default, deletable, valid_format_info, block_index, links. Required: id.
update_a_namely_profile_field_by_id
Updates a profile field within a profile field section. Supports changing the label and the profile field section in which it sits. Returns: id, name, label, type, default, deletable, valid_format_info, block_index, links. Required: id.
list_all_namely_profile_field_sections
Returns all profiles field sections as configured at your company. Linked to this endpoint is a list of profile fields, including additional fields not necessarily included in the corresponding list endpoint, as not all are API transferrable. Returns: id, title, block_titles, links.
get_single_namely_profile_field_section_by_id
Returns information about a single Profile Field Section. Returns: id, title, block_titles, links. Required: id.
update_a_namely_profile_field_section_by_id
Updates the name/label of a profile field section. Returns: id, title, block_titles, links. Required: id.
list_all_namely_me
Returns same information about the profile as in the corresponding list endpoint but isolated, and about the current user only (the profile that owns the access token used to access the API). Every client-created custom field (the token bearer has permission to see) will appear as key at the bottom of the profile object. Returns the token bearer's own profile. Returns: id, email, first_name, last_name, user_status, updated_at, created_at, preferred_name, image, full_name.
get_single_namely_report_by_id
Get a Namely report by id as JSON. Reports reflect live data, so each call returns current values. The response contains the report metadata, an ordered array of columns, and a content array of rows where each row is an array of values positioned to match the columns (for example, if the second column is last name, the second value in each row is the last name). Returns: id, title, columns, content, links. Required: id.
Why Truto
Why use Truto’s MCP server for Namely
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ 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.
Unified APIs
Unified APIs for Namely
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
How It Works
From zero to integrated
Go live with Namely in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Namely account
Use Truto’s frontend SDK to connect your customer’s Namely 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 Namely
Truto’s Proxy API is a 1-to-1 mapping of the Namely API. You call us, we call Namely, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Namely’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Namely on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What Unified API models does Truto support for Namely?
Truto maps Namely to the Unified HRIS API, which includes Companies, Employees, and Groups. These cover Namely's Profiles, Groups/Teams, and system-level company information. Additional tools or custom endpoints can be built on request.
How does authentication work for Namely integrations?
Truto handles the OAuth flow for Namely so your end users can securely connect their Namely accounts without you managing tokens, refresh cycles, or credential storage.
Are there rate limits I need to worry about?
Yes. Namely enforces a strict rate limit of 100 requests per minute on profile-related endpoints and returns an HTTP 406 error when exceeded. Truto manages pagination and request orchestration to help you stay within these limits.
Does Namely support webhooks for real-time data?
Namely offers native webhooks for events like profile.created, profile.updated, profile.terminated, and profile.rehired. These can be configured in the Namely admin UI to reduce reliance on polling.
What employee data is available through the integration?
The Unified Employees model maps to Namely's Profiles endpoint, which includes personal details, work email, job title, start date, active/inactive status, and the manager (Reports To) relationship.
What if I need data or actions beyond the Unified HRIS API?
Truto builds additional tools and proxy endpoints on request. If you need access to Namely-specific features like the Home Feed or custom fields, reach out and Truto can extend coverage for your use case.
Namely
Get Namely integrated into your app
Our team understands what it takes to make a Namely integration successful. A short, crisp 30 minute call with folks who understand the problem.