About Sana
Sana is an AI knowledge and learning platform. Serval connects to your Sana tenant using an API client (a client ID and secret) that you create inside Sana, plus your tenant domain (for exampleacme.sana.ai). Once connected, workflows can read and act on your learning data: people, the groups they belong to, the courses and programs they’re enrolled in, and the reports that track completion. The Sana integration is currently in beta.
When you connect, you choose whether Serval has read access or read and write access. Read access covers everything that looks up or reports on Sana data. Read and write access is required for anything that changes Sana, such as creating a user, enrolling someone in a program, or marking a course complete. Pick read only if you want to be certain that no workflow can ever modify Sana.
What the Sana integration enables
Workflows can work with the main areas of your Sana tenant:Serval works with your tenant’s learning and knowledge data. It doesn’t configure single sign-on or identity-provider user provisioning for Sana, which are set up directly in your identity provider.
Get your credentials
You create an API client inside Sana and give Serval its client ID and secret. The API client’s access in Sana determines what Serval can do, so create it with the scopes your workflows need.1
Sign in to Sana as an administrator
Sign in to your Sana tenant with an account that can manage API clients.
2
Create an API client
Go to Manage → API in Sana and create a new API client. Grant it read access, or read and write access, to match how you plan to use it in Serval.
3
Copy the client ID and secret
Copy the client ID and client secret. Store the secret somewhere safe: you will paste it into Serval, and Sana may show it only once.
4
Note your tenant domain
Your tenant domain is the host you use to reach Sana, for example
acme.sana.ai. You will enter this in Serval.Connect in Serval
Open your team workspace, go to Integrations → Connect new, choose Sana, and fill in the connect form. Every field is required.1
Enter the Sana domain
Enter your tenant host without
https://, for example acme.sana.ai. Serval tidies up a pasted address (it strips the scheme, any trailing slash, and any path).2
Enter the Client ID
Paste the client ID from the API client you created in Sana.
3
Enter the Client secret
Paste the client secret. Serval stores it encrypted and only ever uses it to mint the short-lived tokens it needs to call Sana.
4
Choose Access
Choose Read and write (the default) or Read only. Write access is required for any workflow that changes Sana. Choose read only to guarantee that workflows can never modify your Sana data.
5
Submit the form
Submit to create the connection. Serval verifies it with a health check against your tenant.
Verifying the connection
When you connect, Serval runs a check that confirms it can mint a token from your credentials and reach your tenant. The integration also includes four built-in health checks you can run at any time from the connection’s API Integration tab:Gotchas and troubleshooting
Read versus read and write
Read versus read and write
The access you pick at connect time is enforced on every call. A connection created with read only can’t create users, enroll people, or mark courses complete, even if a workflow asks it to. If a write action fails, check whether the connection (and the underlying Sana API client) has write access.
Use your real tenant host
Use your real tenant host
Serval only reaches hosts under
sana.ai, and the host you enter is where every request goes. Enter your tenant host (for example acme.sana.ai) without https://. Don’t use sana.com, which belongs to an unrelated company.The API client's access in Sana bounds what Serval can do
The API client's access in Sana bounds what Serval can do
Serval can do exactly what the API client is allowed to do in Sana. If workflows hit permission errors while the connection looks healthy, widen the client’s access in Sana (or create a new client with the scopes you need) and update the connection.
Beta integration
Beta integration
The Sana integration is marked beta in the connect screen. Behavior and available capabilities may change.
Need help? Contact support@serval.com for assistance with your Sana integration.

