# Account Recovery
Source: https://support.profilebehavior.com/account-recovery
Learn how to change your user account password in case you forget.
If you ever forget your password, follow these steps to set a new one and restore your access to Profile.
## Reset a User Account Password
1. Click "Forgot your password?" in the **Login** view.
2. Provide your email address in the **Password Reset** request form.
3. Follow the link in the email sent to your inbox.
4. Set a new **password**.
5. Provide your **MFA token**.
With that your new password is set and you'll be logged into Profile. As long as you have access to the email address associated with your user account, you can repeat this process as needed.
# Profile in ChatGPT & Claude
Source: https://support.profilebehavior.com/ai-assistants
Use your Profile behavioral data inside the AI assistants your team already uses
Bring Profile into the AI assistants your team already uses. Once you connect Profile to ChatGPT or Claude, you can send assessment invites, pull behavioral summaries, and manage tags by just asking, without switching tabs.
Profile is designed to work as a ChatGPT app and a Claude connector. Listings in those directories are coming soon. In the meantime you can connect manually using the steps below.
Connect Profile to ChatGPT's Apps & Connectors.
Add Profile as a connector in Claude.
## What you can ask
After connecting, try prompts like these:
```text theme={"system"}
Invite jane@acme.com to take the Profile behavioral assessment. If we already have a "Leadership" tag, attach it.
```
```text theme={"system"}
Pull up Sam Kim's behavioral profile in Profile. Summarize their DISC style and the latest AI debrief in three bullet points I can scan before our 1:1.
```
```text theme={"system"}
Look at everyone tagged "Engineering Leads" in Profile. Based on their behavioral profiles, who's most likely to push back on a new planning process, and how should I frame it?
```
Your assistant handles the call to Profile behind the scenes and answers in plain language, using your actual account data.
## How to connect
In ChatGPT, open the Apps & Connectors screen.
Find Profile in the directory once listed, or add a custom app with the URL `https://vanguard.profilebehavior.com/mcp`.
You'll be sent to Profile to sign in and approve access. Review the permissions shown, then confirm.
In Claude, open **Settings → Connectors**.
Find Profile in the directory once listed, or add a custom connector with the URL `https://vanguard.profilebehavior.com/mcp`.
You'll be sent to Profile to sign in and approve access. Review the permissions shown, then confirm.
Profile speaks the [Model Context Protocol](https://modelcontextprotocol.io), an open standard supported by a growing list of AI tools. If your assistant can add a custom MCP server, point it at `https://vanguard.profilebehavior.com/mcp` and sign in when prompted.
## What your AI assistant can access
When you connect Profile, you're signing in with your Profile account and approving a specific set of permissions. Your AI assistant only gets what you explicitly allow, and only for the account you signed in with.
You'll see a consent screen listing exactly what the assistant is asking for before anything is connected.
Common permissions include:
* **View profiles and behavioral data.** Read names, scores, and debriefs for people on your account.
* **Send invites and manage profiles.** Invite new people to take the assessment, update profile details.
* **Manage tags.** Create and organize groups of people on your account.
You can deny individual permissions at consent time, and you can disconnect the assistant entirely at any time.
## Managing your connections
To see every AI assistant or third-party app you've connected to Profile:
Open Profile in your browser and sign in.
Go to the **User Profile** page.
Scroll to the **Connected apps** section.
From there you can review what's connected and revoke any connection instantly. Once revoked, that assistant loses access immediately, and you can always reconnect it later if you change your mind.
## Privacy and data handling
Connecting an AI assistant doesn't give it unrestricted access to your Profile account. The assistant can only perform the actions you approved, scoped to the account you signed in with. If you belong to multiple Profile accounts, you'll need to connect each one separately.
For more on how Profile handles behavioral data overall, see our [Data Privacy](/data-privacy) guide.
## Frequently asked questions
No. If your account has API access, your team can connect AI assistants. Contact your account owner if you're not sure.
No. A connected assistant is tied to the specific account you signed into during the connection flow. To give an assistant access to a different account, sign into that account in Profile first, then connect from there.
That depends on the assistant. ChatGPT, Claude, and other AI tools each have their own data policies covering what they do with information during a conversation. Consult the policy of the assistant you're connecting.
Actions like sending an invite or deleting a tag are real. Review the assistant's plan before confirming anything destructive. Profile logs actions made by connected assistants so your team has a record of what happened.
The assistant loses access immediately. Any open chat threads referencing Profile data will still show that data (it's already in the conversation), but the assistant can't make new requests to Profile until you reconnect.
# AI assistants and data handling
Source: https://support.profilebehavior.com/ai-data-handling
What data a connected AI assistant can see, how it flows, and what happens to it
When you connect an AI assistant (Claude, ChatGPT, or any MCP-compatible tool) to Profile, you're granting it delegated access to act on your behalf within a single Profile account. This page explains exactly what that means for your data.
## What an AI assistant can access
Access is controlled by **scopes**. At connection time you see a consent screen listing the scopes the assistant is requesting. You can deny any of them. An assistant with a given scope can read or modify only the data that scope covers.
| Scope | Data exposed |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `profiles:read` | Profile names, emails, phone numbers, DISC / Focus / Core scores, AI-generated behavioral debriefs for profiles on the connected account |
| `profiles:write` | Create new profiles (sending an assessment invite), update profile metadata, delete profiles |
| `tags:manage` | Tag names, colors, and the profile-to-tag relationships for tags on the connected account |
| `account:read` | Account name, configured assessments, resource aliases on the connected account |
| `account:write` | Account settings and resource aliases on the connected account |
A connected assistant cannot see data from other Profile accounts, other users' sessions, or any data outside the account it was connected from.
## How your data flows
1. You tell the assistant something in plain language.
2. The assistant decides whether to call a Profile tool and which one.
3. The call goes from the assistant's servers to Profile over HTTPS, authenticated by an OAuth access token scoped to your account.
4. Profile returns the requested data (or performs the requested action).
5. The assistant uses the response to answer you in chat.
The data the assistant sees is the same data Profile's web app would show to you signed in as yourself.
## What Profile does with the data
Profile logs every connector action in your account's audit trail. We do not send your behavioral data or account contents to the AI provider for training, analytics, or any purpose other than fulfilling the tool call you triggered.
## What the AI provider does with the data
Every AI provider has its own data handling terms. When you use Claude, Anthropic's policies apply. When you use ChatGPT, OpenAI's policies apply. Check the terms of the specific assistant you're connecting to.
Profile does not control whether the AI provider uses conversation content for model training, caching, or fine-tuning. If that matters for your use case, read the provider's documentation carefully before connecting.
## Retention
* **Access tokens** expire automatically after approximately one hour and are refreshed by the assistant as needed. Expired tokens cannot be used.
* **Connection records** (the list of apps you've authorized) persist until you revoke them.
* **Audit logs** of connector actions follow Profile's standard audit retention.
* **Profile data** created by connector actions (new profiles, tags, invites) persists normally, same as if you'd created it through the web app.
## Revoking access
At any time, you can:
1. Open Profile in your browser.
2. Go to your **User Profile**.
3. Open the **Connected apps** section.
4. Click **Revoke** on the connection you want to disconnect.
Revocation is immediate on Profile's side: the next request from that assistant will fail. The assistant's currently-issued access token remains technically valid until its natural expiry (up to one hour), but the grant is marked revoked and cannot be refreshed.
## Multiple Profile accounts
If you belong to more than one Profile account, each connection is tied to exactly one account. Connecting an assistant while signed in to Account A does not grant it access to Account B. To give the same assistant access to a second account, sign into that account in Profile and connect again.
## Your rights
You can:
* **View** all active connections at any time from the Connected apps section of your user profile.
* **Revoke** any connection instantly.
* **Export or delete** your account data through Profile's standard data controls. See our [Data Privacy](/data-privacy) page.
For broader privacy questions, see our [Privacy Policy](https://profilebehavior.com/legal/privacy) or contact [support@profilebehavior.com](mailto:support@profilebehavior.com).
# Assessment Error Codes
Source: https://support.profilebehavior.com/api-reference/assessment-error-codes
Understand the error codes encountered during assessments
## Overview
When using our assessment platform, users may occasionally encounter a generic “Invalid Assessment” page when an error occurs.
To help expedite troubleshooting and resolution, a unique **error code** is displayed on the page. Always note this code and
provide it when communicating with support or your account representative.
Each error code corresponds to a specific issue encountered during the assessment process. These codes help our support team
quickly identify the problem area and determine the appropriate steps for resolution. Below is a comprehensive list of error
codes along with their associated reasons and detailed explanations.
| **Code** | **Reason** | **Explanation** |
| --------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **`E00`** | Unknown Error | No specific error was reported. This indicates that the system encountered an unexpected condition that it could not classify. |
| **`E01`** | No Credits | The account associated with the assessment invite link does not have enough credits to proceed with the assessment. This may require a credit top-up or review of credit allocation. |
| **`E02`** | Processing Error | The URL shortener service failed to communicate with our data store to retrieve the short code. This can be a temporary connectivity issue. Please try again later. |
| **`E03`** | Invalid Short Code ID | The provided short code ID could not be found. This might indicate that the code has expired, was entered incorrectly, or has been removed. |
| **`E04`** | Invalid Short Link Type | The short code ID was recognized, but the type of short link does not match the expected values. This suggests that the short link may be misconfigured. |
| **`E05`** | Invalid URL | The URL shortener service returned a 404 error because the request URL was malformed. Check the URL structure for typos or missing parameters. |
| **`E06`** | Invalid Magic Link | The magic link used to access the assessment has expired. Magic links are time-sensitive for security reasons. A new link must be generated to proceed. |
| **`E07`** | Session Error | The server could not create a session for this assessment user. This is usually a backend error and the request should be attempted again at a later time. |
| **`E08`** | Missing Invite Info | The magic link was valid, but no accounts were associated with the assessment user. This likely indicates that the user is not associated with a valid invite. |
| **`E09`** | Free Trial Limit Reached | The account has reached the maximum number of assessments allowed under the free trial plan. To continue, consider upgrading to a paid plan. |
| **`E10`** | Internal Error | This is an internal error. It may be fixed by clearing cookies and sending a new invite email. |
## Troubleshooting Guidance
When encountering an assessment error, follow these steps to help resolve the issue:
1. **Record the Error Code**
Always note the error code displayed on the screen. This code is crucial for diagnosing the problem quickly.
2. **Identify the Issue**
Refer to the table above to understand the general cause of the error. Each code gives an indication of the underlying
problem.
3. **Contact Support**
If the error persists or you are unsure how to proceed, contact our support team. Be sure to include the error code
along with any contextual details about your assessment attempt. This information will help expedite the
troubleshooting process.
## Summary
These error codes are a critical tool in our troubleshooting process. They provide clear, actionable information about
issues that may arise during assessments, whether it’s a credit-related issue, a misconfiguration with URL shortening, or an
unexpected system error. By understanding and using these error codes, you help ensure that any problems are resolved as
quickly and efficiently as possible.
If you need further assistance or have questions about these error codes, please contact our support team and include the
error code shown on your “Invalid Assessment” page.
# Authentication
Source: https://support.profilebehavior.com/api-reference/authentication
Get authenticated and start testing our API
Authenticate securely to the Profile API using **Access Tokens**. We support two modern strategies:
* **Machine-to-Machine (M2M)** for your own backend services
* **OAuth 2.1** for any integration that acts on behalf of a user: third-party apps, AI agents, dashboards
## Machine-to-Machine (M2M) Authentication
M2M authentication is designed for **backend services, internal automations, and server-to-server integrations**.
It uses **access tokens** that are scoped to your organization and expire automatically.
### How It Works
1. **Request an Access Token**
Exchange your `client_id` and `client_secret` for an access token. Credentials can be supplied either in the request body or as HTTP Basic Auth:
```http theme={"system"}
POST https://vanguard.profilebehavior.com/api/v4/auth
Content-Type: application/json
{
"grant_type": "client_credentials",
"client_id": "your_client_id",
"client_secret": "your_client_secret"
}
```
Or, equivalently, with Basic Auth:
```http theme={"system"}
POST https://vanguard.profilebehavior.com/api/v4/auth
Authorization: Basic base64(client_id:client_secret)
```
Response:
```json theme={"system"}
{
"access_token": "eyJhbGciOi...",
"token_type": "Bearer",
"expires_in": 3600
}
```
2. **Include the Token in API Requests**
Add the access token to the `Authorization` header:
```http theme={"system"}
Authorization: Bearer YOUR_ACCESS_TOKEN
```
3. **Tokens Expire**
Access tokens are short-lived and expire after **approximately 1 hour**.
Request a new one when the previous token is near expiry.
### Example (cURL)
```bash theme={"system"}
curl --request POST \
--url https://vanguard.profilebehavior.com/api/v4/test \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"ping": "pong"}'
```
## OAuth 2.1 Authentication
OAuth 2.1 is for integrations that **act on behalf of a specific Profile user**. That covers third-party apps, AI agents and MCP servers, CLI tools, and any browser-based dashboard where a user signs in.
Tokens issued under OAuth are scoped to one Profile account (the one the user consented from) and carry OAuth **scopes** that narrow what the integration can do. The same bearer token works against the REST API (`/api/v4/*`) and the MCP endpoint (`/mcp`).
### Discovery
Fetch the OAuth protected-resource metadata to learn where the authorization server lives and what scopes exist:
```http theme={"system"}
GET /.well-known/oauth-protected-resource HTTP/1.1
Host: vanguard.profilebehavior.com
```
```json theme={"system"}
{
"resource": "https://vanguard.profilebehavior.com",
"authorization_servers": ["https://login.profilebehavior.com"],
"scopes_supported": [
"profiles:read",
"profiles:write",
"tags:manage",
"account:read",
"account:write"
],
"bearer_methods_supported": ["header"]
}
```
On any 401 from a protected endpoint, the response includes a `WWW-Authenticate: Bearer resource_metadata="..."` header pointing at this document, so clients can discover it automatically.
### Client Registration
You have two ways to register an OAuth client:
* **Pre-registered integrations.** For a production integration you build or operate (your own dashboard, an internal tool, a specific third-party connector), contact support to register a client and receive a `client_id` (and `client_secret` for confidential clients).
* **Dynamic Client Registration (DCR).** MCP agents and other on-the-fly clients can register themselves at the authorization server's DCR endpoint. See the authorization server's discovery document at `https://login.profilebehavior.com/.well-known/oauth-authorization-server` for the registration URL. No pre-provisioning required.
### How It Works
1. **Redirect to authorize**
Send the user's browser to the authorization endpoint with the standard OAuth 2.1 query params (`client_id`, `redirect_uri`, `response_type=code`, `scope`, `state`, `code_challenge`, `code_challenge_method=S256`):
```
https://login.profilebehavior.com/oauth/authorize?client_id=...&redirect_uri=...&response_type=code&scope=profiles:read+tags:manage&state=...&code_challenge=...&code_challenge_method=S256
```
2. **Consent**
Profile shows the user a branded consent screen listing your app, the account they're connecting, and the scopes requested. On approval, Profile redirects the browser back to your `redirect_uri` with an authorization code.
3. **Token exchange**
Exchange the code for an access token at the token endpoint:
```http theme={"system"}
POST https://login.profilebehavior.com/oauth/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=...&redirect_uri=...&client_id=...&code_verifier=...
```
4. **Make API requests**
Include the token as a bearer in the `Authorization` header:
```http theme={"system"}
Authorization: Bearer USER_ACCESS_TOKEN
```
### Scopes
Scopes are the unit of authorization for OAuth tokens. A token can only perform operations covered by the scopes the user granted. Users see and can deny each scope on the consent screen, and can revoke an entire connection at any time from the **Connected apps** section of their user profile.
Request only the scopes your integration actually needs. Over-asking on the consent screen is the single most common reason users deny a connection.
#### `profiles:read`
Read access to profiles and their behavioral data.
**Allows:**
* Listing profiles on the connected account
* Reading a profile's name, email, and phone
* Reading DISC, Focus, and Core assessment scores
* Reading AI-generated behavioral debriefs (and triggering generation of a debrief if one doesn't exist yet)
**Does not allow:** creating, modifying, or deleting profiles; accessing profiles on accounts the user isn't signed in to.
**Typical use:** any integration that summarizes or analyzes behavioral data, including AI assistants answering questions about people on the team.
#### `profiles:write`
Full profile lifecycle. Includes creating profiles via assessment invite.
**Allows:**
* Creating new profiles (sends a real assessment invite email or SMS)
* Updating profile metadata
* Deleting profiles
* Resending invite links
**Does not allow:** reading behavioral scores (request `profiles:read` alongside if you need both).
**Typical use:** HR tools, onboarding automations, roster-management integrations.
#### `tags:manage`
Full CRUD on tags and tag membership.
**Allows:**
* Listing, creating, renaming, recoloring, and deleting tags
* Replacing the set of profiles attached to a tag
**Does not allow:** creating or modifying profiles. The profiles a tag references must already exist on the account.
**Typical use:** cohort-management, group-assignment, and filtering workflows.
#### `account:read`
Read access to account-level metadata.
**Allows:**
* Reading account name, logo, and preferences
* Reading the assessment catalog
* Reading resource aliases (external ID mappings)
**Does not allow:** reading profiles or behavioral data (that's `profiles:read`).
**Typical use:** diagnostic and reporting tools that need context about the account they're connected to.
#### `account:write`
Modify account-level settings.
**Allows:**
* Updating account logo and preferences
* Creating, updating, and deleting resource aliases
**Does not allow:** deleting the account, changing billing, or modifying users.
**Typical use:** integrations that need to keep resource-alias mappings in sync with an external system.
### Scope enforcement
Every API request is validated against the token's granted scopes before the handler runs. An OAuth client calling an endpoint without the corresponding scope receives a 403 with a descriptive error message. There is no silent degradation or partial success.
### Example OAuth Request
```http theme={"system"}
GET /api/v4/account HTTP/1.1
Host: vanguard.profilebehavior.com
Authorization: Bearer eyJhbGciOi... (access token)
```
## Which Authentication Method Should I Use?
| Use Case | Auth Type |
| -------------------------------------------- | --------- |
| Your own backend services talking to our API | ✅ M2M |
| Cron jobs & internal automation | ✅ M2M |
| Third-party apps acting on a user's behalf | ✅ OAuth |
| AI agents and MCP servers (ChatGPT, Claude) | ✅ OAuth |
| User-facing apps where a person signs in | ✅ OAuth |
## Security Notes
* **Never expose client secrets** in frontend apps or browser-based code. Public clients (browser, mobile, CLI) must use PKCE instead.
* **Access tokens are short-lived** (\~1 hour). Use refresh tokens to obtain new access tokens without re-prompting the user.
* OAuth users authenticate through Profile's secure login. **Passwords are never shared** with external tools.
* Users can view and revoke any connected app from the **Connected apps** section of their user profile at any time.
# Connector security and compliance
Source: https://support.profilebehavior.com/api-reference/connector-security
How the Profile MCP connector authenticates, isolates, and audits third-party access
This page documents the security posture of the Profile MCP connector for developers, security reviewers, and compliance teams evaluating whether to approve Profile for use inside their organization.
## Authentication
### OAuth 2.1 with PKCE
All connector access uses OAuth 2.1 authorization code flow with PKCE (RFC 7636, `S256` challenge method). No bearer tokens or API keys are exposed through the consent flow; only the user who signed in and consented can authorize access, and only the scopes they approved are attached to the issued token.
### Dynamic Client Registration (DCR)
RFC 7591 Dynamic Client Registration is supported at the authorization server. MCP-compatible clients (Claude, ChatGPT, custom MCP servers) register themselves without out-of-band coordination. Registered clients receive their own `client_id` and are recorded as distinct connection grants so users can revoke them individually.
### Identity provider
Authentication and token issuance are handled by [Stytch Connected Apps](https://stytch.com/docs/b2b/guides/connected-apps). Profile does not implement its own OAuth authorization server; we act as the OAuth resource server, validating tokens issued by Stytch.
### Discovery
Protected-resource metadata is served at `/.well-known/oauth-protected-resource` per RFC 9728. Authorization server metadata lives at the Stytch project domain per RFC 8414. On a 401 from a protected endpoint, clients receive a `WWW-Authenticate: Bearer resource_metadata="..."` header pointing at the discovery document.
## Token lifecycle
* **Access tokens** are signed JWTs with a one-hour expiry. The MCP server validates signature, expiry, issuer, and audience on every request using the JWKS published by Stytch.
* **Refresh tokens** are issued alongside and can be exchanged for new access tokens without re-prompting the user, until the underlying grant is revoked.
* **Revocation** is immediate on the Stytch side. Any attempt to refresh a revoked grant fails. Previously-issued access tokens remain technically valid until their one-hour natural expiry; see [known limitations](#known-limitations) below.
## Account isolation
Profile accounts map 1:1 to Stytch organizations. Every IDP-issued token carries the organization claim `https://stytch.com/organization`, and the Profile MCP server resolves the target account from that claim at request time.
Concretely:
* A token issued from a consent flow in Account A cannot read or mutate data in Account B, regardless of the IDs the caller supplies.
* Tag and profile operations filter by the bound account at the database query layer, so cross-account access cannot be achieved by ID guessing.
* Multi-account users must consent separately per account. One connection equals one account.
## Scope enforcement
OAuth scopes are declared in the Stytch RBAC policy and carried on every issued token. The MCP server enforces scopes at the tool dispatch layer: each tool declares its required scope, and calls without the scope are rejected before any work is performed.
The current scope set:
| Scope | Grants |
| ---------------- | -------------------------------------------------------- |
| `profiles:read` | Read profiles and behavioral summaries |
| `profiles:write` | Create, update, delete profiles; send assessment invites |
| `tags:manage` | Full CRUD and assignment on tags |
| `account:read` | Read account metadata |
| `account:write` | Modify account settings |
Connected Apps issued through the MCP flow are capped at a `manager`-level role regardless of the consenting user's Profile role. Admin-only operations are not exposed to connectors.
## Billing enforcement
Requests from accounts with canceled, paused, or trial-expired billing status return `402 Payment Required` at the middleware layer. This applies identically to connector access and the first-party web session.
## Audit logging
Every mutating tool call (create, update, delete, assign, invite) writes to Profile's standard audit log with the connector identified as the actor. Reads are not currently audited at the tool-call level but remain visible at the HTTP level in standard access logs.
## Transport security
* All traffic to the MCP endpoint uses HTTPS in production.
* CORS on the `/mcp` and `/.well-known/*` endpoints is open (wildcard origin, no credentials) so browser-based MCP clients can reach them. All other credentialed endpoints restrict origins to the Profile web app.
* The MCP endpoint does not use cookies; only Bearer tokens in the `Authorization` header.
## Known limitations
### Local token introspection and revocation latency
Access tokens are validated locally (signature, expiry, issuer, audience) rather than via a round-trip to Stytch. This is standard JWT practice and keeps latency low. The trade-off is that a revoked grant's previously-issued access token remains technically valid until its natural expiry, up to one hour.
Refresh tokens are blocked at revocation time, so the revoked connection cannot obtain a new access token once the current one expires. The one-hour window is the only gap.
We have evaluated switching to network-backed introspection (which would be immediate) but the per-request Stytch API call adds measurable latency. For v1 the local-introspection tradeoff is documented and acceptable; we will revisit if customers require instant revocation for sensitive scopes.
## Reporting a security issue
If you discover a security issue in the Profile MCP connector, email [security@profilebehavior.com](mailto:security@profilebehavior.com). Include reproduction steps and any relevant request IDs. We aim to acknowledge within one business day and provide a fix or mitigation plan within five business days for validated vulnerabilities.
For general connector support and abuse reports, contact [support@profilebehavior.com](mailto:support@profilebehavior.com).
## Standards referenced
* OAuth 2.1 (draft) and OAuth 2.0 (RFC 6749)
* PKCE (RFC 7636)
* Dynamic Client Registration (RFC 7591)
* OAuth 2.0 Authorization Server Metadata (RFC 8414)
* OAuth 2.0 Protected Resource Metadata (RFC 9728)
* JWT (RFC 7519) / JWS (RFC 7515)
* Well-known URIs (RFC 8615)
* [Model Context Protocol specification](https://modelcontextprotocol.io/specification/2025-06-18)
# Send Assessment Invite
Source: https://support.profilebehavior.com/api-reference/endpoints/assessment-invite
POST /profile
Creates a pending profile associated with your account which represents an invitation to join your account and take the assessment. Once an individual receives their invite email and accepts their profile data will be included in the profiles on your account. The email provided will receive an invite in their inbox upon calling this method which will direct them to take the assessment with an authenticated session.
**Note**: Sending an assessment invite is done after creating a new profile resource.
# Delete Profile
Source: https://support.profilebehavior.com/api-reference/endpoints/delete-profile
DELETE /profile/{profileId}
Removes the profile associated with the provided ID from your account.
# Delete Resource Alias
Source: https://support.profilebehavior.com/api-reference/endpoints/delete-resource-alias
DELETE /resource-alias/{resourceAliasId}
Removes an existing resource alias.
# Delete Tag
Source: https://support.profilebehavior.com/api-reference/endpoints/delete-tag
DELETE /tag/{tagId}
Deletes a tag based on provided ID.
# Get Assessment by ID
Source: https://support.profilebehavior.com/api-reference/endpoints/get-assessment
GET /assessment/{assessmentId}
Returns detailed information about the specified behavioral assessment, including its type, creation date, and whether it is required. Use this endpoint to learn more about a particular assessment available on your Profile account.
# Get All Assessments
Source: https://support.profilebehavior.com/api-reference/endpoints/get-assessments
GET /assessments
Returns every behavioral assessment offered by Profile, including DISC, Focus, and Core. Use this to see which behavioral tests are available for teams or individuals in your organization.
# Get Core Report By Locale
Source: https://support.profilebehavior.com/api-reference/endpoints/get-core-report-by-locale
GET /fixtures/{locale}/core/report
Returns report content for Core values in various languages based on the supplied ISO country locale code.
# Get Account
Source: https://support.profilebehavior.com/api-reference/endpoints/get-current-account
GET /account
Returns details about the account associated with the authenticated user, including name, organization type, credits, and preference settings. Use this endpoint to confirm your account setup and view key metadata.
# Get DISC Report By Locale
Source: https://support.profilebehavior.com/api-reference/endpoints/get-disc-report-by-locale
GET /fixtures/{locale}/disc/report
Returns report content for DISC in various languages based on the supplied ISO country locale code.
# Get Focus Report By Locale
Source: https://support.profilebehavior.com/api-reference/endpoints/get-focus-report-by-locale
GET /fixtures/{locale}/focus/report
Returns report content for Focus in various languages based on the supplied ISO country locale code.
# Get All Pending Profiles
Source: https://support.profilebehavior.com/api-reference/endpoints/get-pending-profiles
GET /pending-profiles
Returns paginated details for all profiles invited to your account.
# Get Profile
Source: https://support.profilebehavior.com/api-reference/endpoints/get-profile
GET /profile/{profileId}
Returns the report data for a specific individual
If a custom ID has been applied to a profile via an Assessment Invite or other means, that `customId` can be used in place of the `profileId` when querying.
### Querying with Custom IDs
* If querying with a `customId` this endpoint will return an array of profiles matching that ID versus a single document when querying with a `profileId`.
* If a `customId` has only been applied to one profile, querying by that ID will still return an array with that single profile included.
# Get All Profiles
Source: https://support.profilebehavior.com/api-reference/endpoints/get-profiles
GET /profiles
Returns the report data for all profiles on your account with pagination and optional filters as query parameters.
# Get All Resource Aliases
Source: https://support.profilebehavior.com/api-reference/endpoints/get-resource-aliases
GET /resource-aliases
Returns every resource alias for your account with filter options available as query parameters.
# Get All Tags
Source: https://support.profilebehavior.com/api-reference/endpoints/get-tags
GET /tags
Returns all tags defined for the account, including team labels, colors, and associated profiles. Use this endpoint to organize or analyze groups, teams, or cohorts within an account.
# Test
Source: https://support.profilebehavior.com/api-reference/endpoints/get-test
GET /test
Returns a simple success message to verify that the Profile API is reachable and operational. Use this endpoint to confirm your authentication and network setup are correct.
# Update Resource Alias
Source: https://support.profilebehavior.com/api-reference/endpoints/patch-resource-alias
PATCH /resource-alias/{resourceAliasId}
Updates an existing resource alias `resourceId` or `consumerKey`.
# Update Tag
Source: https://support.profilebehavior.com/api-reference/endpoints/patch-tag
PATCH /tag/{tagId}
Updates the label or color designation of an existing tag.
# Update Tag Profiles
Source: https://support.profilebehavior.com/api-reference/endpoints/patch-tag-profiles
PATCH /tag/{tagId}/profiles
Updates the profiles assigned to an existing tag.
# Generate AI Debrief
Source: https://support.profilebehavior.com/api-reference/endpoints/post-generate-ai-debrief
POST /playbook/ai/debrief/{profileId}
Returns a Playbook AI generated debrief for the individual profile specified. If one has been generated with the current available data already, it simply returns the expected debrief. If new data or a new AI model are available it generates a new debrief with a flag indicating that it is new.
# Generate AI Team Summary
Source: https://support.profilebehavior.com/api-reference/endpoints/post-generate-ai-team-summary
POST /playbook/ai/team-summary
Returns a Playbook AI generated Team Summary for multiple profiles up to 40 max. If one has been generated with the current available data already, it simply returns the expected debrief. If new data or a new AI model are available it generates a new debrief with a flag indicating that it is new.
# Create Profile
Source: https://support.profilebehavior.com/api-reference/endpoints/post-profile
POST /profile
Creates a pending profile associated with your account which represents an invitation to join your account and take the assessment. Once an individual receives their invite email and accepts their profile data will be included in the profiles on your account. The email provided will receive an invite in their inbox upon calling this method which will direct them to take the assessment with an authenticated session.
# Resend Profile Invite
Source: https://support.profilebehavior.com/api-reference/endpoints/post-profile-resend-invite
POST /profile/{profileId}/resend-invite
Sends a new invite to the email associated with the provided profile ID.
# Create Resource Alias
Source: https://support.profilebehavior.com/api-reference/endpoints/post-resource-alias
POST /resource-alias
Creates a resource alias for the account which serves as a way of creating custom identification for data in the Profile system using a `consumerKey` and relating it based on the resource type and ID. If a resource alias already exists with all of the same fields as provided, the existing alias data will be returned.
# Create Tag
Source: https://support.profilebehavior.com/api-reference/endpoints/post-tag
POST /tag
Creates a tag for the account which can have profiles assigned to it and be used for filtering profiles when fetching multiple by account.
# Test with Body
Source: https://support.profilebehavior.com/api-reference/endpoints/post-test
POST /test
Validates that your client can send POST requests with JSON bodies to the Profile API. Accepts a `ping` property for demonstration and troubleshooting purposes.
# Resend Assessment Invite
Source: https://support.profilebehavior.com/api-reference/endpoints/resend-assessment-invite
POST /profile/{profileId}/resend-invite
Sends a new invite to the email associated with the provided profile ID.
# API Introduction
Source: https://support.profilebehavior.com/api-reference/introduction
Build your own integration with our behavioral platform
This documentation is for developers wanting to build custom software with our programming interface.
If you are looking for product support, please go back to the main documentation.
## Welcome
Welcome to the Profile API documentation! We are excited to see what you build. Here at Profile, we work
hard to make our API as easy to use as possible. If you have any questions, please
[Contact Us](https://profilebehavior.com/contact).
Our documentation is generated from an OpenAPI 3.1 specification.
Download the bundled spec directly from the API to generate a client
or explore it in your tool of choice.
## Getting Started
The first place to start using our API is to sign in, generate your API keys, and hit the test endpoints.
You can do this by going to the Account Settings page and clicking on the "Generate API Keys" button. This
will generate a new API key pair that you can use to authenticate your requests. You can also regenerate
your API key at any time if you feel that it has been compromised.
If you are not the account owner, contact your administrator and make sure you have `manager` permissions.
Go to the Account Settings page and generate an API key pair for your desired region.
Use your API keys and the test endpoints to get authentication working.
# MCP Server
Source: https://support.profilebehavior.com/api-reference/mcp
Connect AI agents and assistants to Profile via the Model Context Protocol
Profile exposes a [Model Context Protocol](https://modelcontextprotocol.io) server that lets AI agents (ChatGPT Apps, Claude Connectors, or any MCP-compatible client) act on behalf of a Profile user. An authorized agent can send assessment invites, manage tags, and retrieve behavioral summaries through the same backend that powers the Profile web app.
This page is a human-readable overview of that surface. The **authoritative, always-current catalog** is what the MCP server itself reports in response to a `tools/list` call. If you need exact JSON schemas for a code generator, ask the server.
## How it connects
* **Endpoint:** `POST https://vanguard.profilebehavior.com/mcp` (streamable HTTP transport)
* **Discovery:** `GET /.well-known/oauth-protected-resource` returns the authorization server URL and supported scopes
* **Authentication:** OAuth 2.1 (authorization code + PKCE). See the [Authentication](/api-reference/authentication) page for the full flow.
When an MCP client hits `/mcp` without a token, the response includes a `WWW-Authenticate: Bearer resource_metadata="..."` header pointing at the protected-resource metadata. Spec-compliant clients follow this automatically and initiate the OAuth flow.
Tokens issued through this flow are scoped to **one Profile account**: the account the user was signed into when they consented. An agent connected to Account A cannot read or modify data in Account B, even if the same user belongs to both.
## Tool surface
Tools operate on the account the user consented from. Tool inputs take resource-specific IDs (tag IDs, profile IDs) but never an account ID. Every tool advertises `title`, `description`, and behavior annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`) so the client can decide when to prompt for confirmation.
### Tags
Required scope: `tags:manage`
#### `list_tags`
Read-only. Returns tags on the connected account with optional paginated listing and full-text search over the tag label.
* **Inputs:** `search` (optional string), `limit` (optional number), `page` (optional 1-indexed number)
* **Returns:** array of `{ id, label, color, profiles }` plus a total count
* **Side effects:** none
* **Typical errors:** no required input is missing, so most failures are infrastructure-level and return a generic message.
#### `create_tag`
Additive write. Creates a new tag on the connected account.
* **Inputs:** `label` (string, required), `color` (string, required, one of `emerald`, `red`, `yellow`, `orange`, `blue`, `indigo`, `purple`, `pink`, `zinc`)
* **Returns:** the created tag
* **Side effects:** writes an audit-log entry
* **Typical errors:** `label is required`; `invalid color "x"`
#### `update_tag`
Destructive write (overwrites label and color). Idempotent.
* **Inputs:** `tagId` (string, required), `label` (string, required), `color` (string, required, same allowed values as create)
* **Returns:** the updated tag
* **Side effects:** writes an audit-log entry; invalidates cached views of the tag
* **Typical errors:** `Tag not found` (also returned when the tag exists but belongs to a different account); validation errors on label and color
#### `delete_tag`
Destructive write. Idempotent on subsequent calls (the tag is simply not found).
* **Inputs:** `tagId` (string, required)
* **Returns:** `{ deleted: true, tagId }`
* **Side effects:** removes the tag from every profile it was attached to; writes an audit-log entry
* **Typical errors:** `Tag not found`
#### `assign_tags_to_profiles`
Destructive write (replaces the profile set on the tag). Idempotent.
* **Inputs:** `tagId` (string, required), `profileIds` (array of strings, required, can be empty to clear all assignments)
* **Returns:** the updated tag with its new profile set
* **Side effects:** writes an audit-log entry
* **Typical errors:** `Tag not found`; `One or more profiles not found on this account` when any supplied profile ID doesn't exist on the connected account
### Profiles
Required scope: `profiles:read`
#### `list_profiles`
Read-only. Returns profiles the user has access to on the connected account.
* **Inputs:** `search` (optional string, full-text over name), `tagId` (optional string, filter by tag membership), `isCompleted` (optional boolean, filter by assessment completion), `limit` (optional number), `page` (optional 1-indexed number)
* **Returns:** array of profile summaries `{ id, name, email, phone, isCompleted, tagIds }` plus a total count
* **Side effects:** none
* **Typical errors:** `invalid tagId` if a malformed tag ID is supplied
### Assessment invites
Required scope: `profiles:write`
#### `send_assessment_invite`
Additive write. Sends a real assessment invite email or SMS to the recipient.
* **Inputs:** `email` (optional string, but required if no phone), `phone` (optional string, E.164 format, required if no email), `tagId` (optional string to attach the new profile to a tag), `customId` (optional string for external ID mapping)
* **Returns:** `{ profileId, created, email, phone }`. `created: true` means a new profile was created; `created: false` means the recipient already had a profile and the invite was added or re-sent.
* **Side effects:** sends a magic link via email or SMS; creates or updates a Profile record; writes an audit-log entry
* **Typical errors:** `Email or phone number is required`; `One or more tags not found for account`; `Maximum reports reached for trial account` (402 for trial accounts at their profile cap)
### Behavioral summary
Required scope: `profiles:read`
#### `get_behavioral_summary`
Composite read of a profile's behavioral data. Triggers debrief generation on first access.
* **Inputs:** `profileId` (string, required)
* **Returns:** profile identity (`name`, `email`, `isCompleted`), DISC scores and style, Focus trait scores and levels, Core value rankings, and the AI-generated debrief content plus its ID. `debriefGenerated: true` indicates a new debrief was created during this call.
* **Side effects:** if no debrief exists for the profile, one is generated and stored. Generation can take up to a minute and consumes AI compute on our side.
* **Typical errors:** `Profile not found`; `Profile is not on this account` (when the profile exists but belongs to a different account)
#### Why this tool is marked non-read-only
The MCP annotation for `get_behavioral_summary` has `readOnlyHint: false` because first-time calls for a given profile write a new AIReportFixture to the database. Subsequent calls for the same profile read the cached result. Clients may prompt for confirmation on first access; repeated calls do not re-prompt if the grant permits.
## Scopes
MCP tool calls use a subset of the full OAuth scope set. The complete list is in the [Authentication](/api-reference/authentication) page.
| Scope | Used by tools |
| ---------------- | -------------------------------------------------------------------------------- |
| `profiles:read` | `list_profiles`, `get_behavioral_summary` |
| `profiles:write` | `send_assessment_invite` |
| `tags:manage` | `list_tags`, `create_tag`, `update_tag`, `delete_tag`, `assign_tags_to_profiles` |
Scopes the user doesn't grant at consent time block the corresponding tools entirely. An LLM calling `create_tag` without `tags:manage` receives an error, never a silent success.
## Connecting from a client
### ChatGPT Apps
Register a new app in the OpenAI Apps SDK dashboard. Point the MCP server URL at `https://vanguard.profilebehavior.com/mcp`. OpenAI's platform handles OAuth discovery and Dynamic Client Registration against the authorization server referenced in our protected-resource metadata.
### Claude Connectors
In Claude's connector settings, add a custom MCP server with URL `https://vanguard.profilebehavior.com/mcp`. Claude follows the same discovery path.
### Custom MCP clients
If you're writing a client directly against the MCP spec (e.g. using [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol)), the only Profile-specific configuration is the server URL. Everything else (DCR, authorization, token exchange, tool invocation) is standard MCP + OAuth 2.1.
## Inspecting the live tool catalog
If you need to see the tool list with exact JSON schemas, either connect with [`mcp-inspector`](https://github.com/modelcontextprotocol/inspector) (authenticates via OAuth, lets you list tools and invoke them by hand) or have a registered MCP client send a standard `tools/list` request. This is always more current than any documentation page, including this one.
# User Permissions
Source: https://support.profilebehavior.com/api-reference/user-permissions
Exploring User roles and permissions
## Overview
In the latest version of our software, we have simplified the permissions system into two primary roles:
**managers** and **users**. The `role` field on the User model specifically indicates whether a user
is a manager or a regular user.
This document outlines the differences between the two roles and details the additional capabilities that
managers have over regular users.
### Users
Regular users have access to the core functionalities of the software. They can perform all the standard
actions allowed by the system, which typically include:
* Viewing and interacting with Assessments
* Managing their own profiles and Account settings
* Accessing basic reports and data as permitted by the system
### Managers
Managers have all the capabilities of regular users, plus additional permissions that allow them to manage
and administer the account more comprehensively. Manager permissions include:
* **Account Tag Management:** Create, edit, and delete Account Tags.
* **User Management:** Invite new Users, modify existing User details, and remove Users from the Account.
* **Profile Management:** Edit Profile details (e.g. email, phone, name, etc.), delete
Profiles, and transfer Profiles between Accounts they manage.
* **Credit Distribution:** Allocate and distribute credits within the Account.
* **Account Information Updates:** Modify key Account details such as the Account name, logo, and settings.
* **API Credentials:** Add, view, or delete API credentials to control and monitor API access.
* **Sub-Account Management:** Create, modify, or delete Sub-Accounts for better organizational structure.
* **Usage Reporting:** Run usage reports for the managed account to track activities and performance.
* **360 Reviews:** Create, modify, or delete 360 Reviews for a comprehensive review process.
## Important Notes for API Consumers
* **Role Field:** The `role` field in the User model will always indicate either `manager` or `user` for
client Accounts. This is the field you should reference when determining a user's level of access.
* **Best Practices:** When building integrations, always validate user permissions based on the `role`
field. This ensures that your application only exposes the functionalities available to managers or
users as defined by our API.
## Conclusion
The streamlined permissions system in Profile is designed to simplify user management and ensure clarity
between everyday user actions and higher-level management tasks. If you have questions regarding
permission-related functionality or require further details on how to implement these checks in your API
integrations, please consult our additional developer resources or reach out to our support team.
# Assessment Invites
Source: https://support.profilebehavior.com/assessment-invites
Send assessment invites by email to quickly collect responses
Assessment Invites let you send assessments directly to participants via email—no links to copy or manage.
## Sending an invite
1. From the **Dashboard**, click **Send assessment** near the top of the page.
2. Enter the participant’s **email address** or **phone number**.
3. (Optional) Apply one or more **tags**:
* Tags will automatically apply to any Profile created from this invite.
4. Click **Send invite**.
After you send an invite, the participant receives an email with instructions to complete the assessment.
## Tags
Tags help you stay organized across large sets of assessments and results.
* **Applying Tags**
Tags can be attached to an Assessment Invite before sending it. Any participant completing the assessment from that invite will have those tags automatically applied to their Profile.
* **Managing Tags**
Tags are created and managed on the **Account** page. When creating a tag, you can:
* Choose a **label** (e.g., `Fall Recruiting`, `Leadership Cohort A`, `'26 Roster`, or `Engineering`).
* Select a **tag color** to improve visibility.
* **Using Tags**
Tags are available across the platform for filtering and organization:
* **Dashboard** – quickly filter assessments by tag.
* **Reporting** – generate reports scoped to specific tags for deeper insights.
## Retaking Assesssments
If any of your Profiles are outdated or contain invalid scores, you can issue a retake. Here's how:
1. Right-click the target Profile in the **Dashboard**.
2. Select **Retake assessments** from the menu.
3. Select one or more **assesments** (between Focus, DISC, and Core) to retake.
4. Click **Start retake** to send a new invite to the user.
Their report will still be visible but will include a notice that results are incomplete and subject to change. You can withdraw a retake invite and restore the previous score data from the context menu in the Dashboard table.
## Notes
* Tags are optional, but helpful for organizing results
* You can send invites to different groups or projects as needed.
## Best Practices
* Apply tags before sending so results are automatically grouped.
* Use consistent tag naming for campaigns, cohorts, roles, or time periods.
# What's New
Source: https://support.profilebehavior.com/changelog
Stay up to date on all the latest changes
#### Assessment Retakes
In some cases, a Profile may contain assessment data which is outdated or invalid. You can now issue a re-take for one or more of the three Profile assessments from the Dashboard! A retake will not affect the availability of the Profile report, but viewers will find a notice that some scores are subject to change at the top of the report. Previous scores are retained and retakes can be withdrawn just as easily as they were issued.
Also this release:
* Right-click context menus in the Dashboard and User tables.
* Two new DISC archetypes: Maximizer and Observer, which represent scores which are either all above or below the midline value.
* Minor improvements to the AI Knowledge management interface design.
* Bugfixes for issues related to phone number fields in forms across the platform and invalid tags.
#### Playbook AI for Assessment Takers
Playbook AI is now available for anyone who takes the Profile assessments! You can now start a new chat within the report view and discuss any of your behavioral data with Playbook AI. Chats here have a conversation limit which is reset daily.
#### Talk with Playbook AI
Voice chat with Playbook AI is now supported! Have quicker, more natural conversations about your team's behavioral styles. Text and voice conversations are seamless: pick up where you left off and switch modes at any time. Besides this, there are a few more upgrades to Playbook AI in this release:
* Playbook AI is now available on the Dashboard and Reporting views.
* Mentions are now tracked and referenced in every conversation, making it easier to jump back into a previous chat with full context.
* Discussions with Playbook AI are now more conversational and focused. You'll receive whatever information you ask for in concise but insightful responses.
* Playbook AI will automatically have your behavioral data on hand to reference in conversations when there's a Profile in your account which matches your user email or phone number.
Also improved in this release:
* Table pagination and data ordering are now more consistent and easier to use.
* Password strength checking is now more reliable.
* Users can now provide a phone number to connect to their Profile data.
#### Profile Supports MCP
Use your Profile data inside the AI assistants your team already uses. Connect to the Profile MCP server, grant permissions on behalf of your account, and then use your behavioral data within your regular AI workflows.
#### The Playbook AI View
Chat with Profile's resident behavioral intelligence expert in a new, dedicated view. You can manage all your chats with Playbook AI there: start a new chat, delete old ones, and even have an incognito conversation.
#### Better Search Results
Search across the app is now improved. Your queries will result in more accurate and varied matches and rank those which start with your exact query highest.
#### SMS Assessment Invites
You can now invite users to take the Profile assessment using a phone number. Users invited by SMS can also retrieve their report using their phone number.
#### A New Look for Profile
The entire behavioral intelligence platform has undergone a visual refresh, featuring new fonts, colors, icons and more:
* Subtle motion added with smooth scrolling and page transitions improve your navigation experience throughout Profile.
* Added "Heat Maps" to the Reporting view tables, showing extensions for DISC scores and Focus domains across all profiles.
#### Assessment Timing Data
Timing data for assessments is now available for account managers. The total duration your users took on each of the three assessments (DISC, Focus, and Core) are now available on each Profile report.
Also new in this release:
* Profile Report visuals refresh — new icons, highlighting, and other small style fixes.
* Fixed a minor issue with resending assessment invites.
#### Profile Version 4 is Available!
We are excited to announce the release of Profile Version 4 (codename Beryllium), which includes a host of new features
and improvements.
**New Features**:
* Users no longer need to manage campaigns for assessment invite links.
* Profile's can be organized using tags allowing for easier management and reporting.
* Playbook AI has been added to generate report debriefs.
* Users can generate Team Summary reports for their teams and explore more insights than ever before.
* Assessment take times have been dramatically reduced without losing accuracy through the use of machine learning and
neural networks.
#### Backup Email Verification
Our team is continuing to improve international support:
* Supporting unicode names on PDF reports
* Added backup email assessment verification method
#### Language Additions
This update includes bug fixes and performance improvements, as well as the
addition of support for the following languages:
* Korean
* Simplified Chinese
#### International Infrastructure Update
This release includes a major infrastructure update to improve performance and reliability for our international clients.
Multiple hosted regions are now available for all accounts, and we have added support for the following regions:
* US East - Ohio, USA
* EU - Frankfurt, Germany
* ASIA - Singapore
# Core Concepts
Source: https://support.profilebehavior.com/core-concepts
Understand the key terms and ideas that power Profile’s platform and workflows
Profile is built around a set of consistent concepts. Understanding these will help you navigate the software, interpret results, and communicate with your team.
## Quick Reference
| Concept | What it means |
| ----------------------------------------- | -------------------------------------------------------------- |
| [Users](#users) | A person with access to Profile, with role-based permissions |
| [Profiles](#profiles) | The report created when someone completes assessments |
| [Assessments](#assessments) | The DISC, Focus, and Core Values that power Profiles |
| [Assessment Invites](#assessment-invites) | An email invite sent to participants to complete an assessment |
| [Tags](#tags) | A label (with color) used to organize and filter Profiles |
| [Reporting](#reporting) | Team-level insights and comparison tools |
| [Playbook AI](#playbook-ai) | AI-powered debriefs and Q\&A about Profiles and teams |
| [Knowledge](#knowledge) | Custom content that enhances Playbook AI responses |
| [Extensions](#extensions) | Highlights extreme low/high scores in tables |
***
## Users
Anyone with login access to Profile.
* **Roles:** Users are assigned a role — **User, Manager, or Owner**.
* **Owner:** In addition to standard permissions, Owners have access to billing.
* Users are managed on the **Users** page in the navigation.
***
## Profiles
A **Profile** is the report generated when an individual completes the assessments.
* Combines data from **DISC, Focus, and Core Values**.
* Includes graphs, narratives, AI debriefs, and communication guides.
* Profiles can be read individually or compared across groups in **Reporting**.
***
## Assessments
Every Profile is powered by three assessments:
* **DISC** – Measures behavioral style across **Dominance, Influence, Steadiness, Correctness**.
* **Focus** – Measures cognitive and interpersonal focus across five domains: **Flexibility, Organization, Communication, Understanding, Stability**. Each domain includes six underlying facets.
* **Core Values** – Reveals a person’s top motivators, ranked in order of importance.
***
## Assessment Invites
A secure email invitation you send to a participant to complete an assessment.
* Sent from the **Dashboard** via **Send assessment**.
* Uses the participant’s **email address** (no links to copy or share).
* Can include **Tags** that automatically apply to all resulting Profiles.
***
## Tags
Labels you apply to organize Profiles.
* Managed in the **Account** page (label + color).
* Can be attached to Assessment Links so Profiles are tagged automatically.
* Used throughout the platform for **filtering** (Dashboard, Reporting, etc.).
***
## Reporting
The hub for comparing groups of Profiles.
* **Filters:** Narrow by Tags or DISC styles.
* **DISC Makeup:** Shows percentage distribution across D, I, S, C.
* **Playbook AI Debrief:** Team-level narrative analysis.
* **Tables:** Compare DISC scores, Focus scores, and Core Values side by side.
* Supports **visual comparisons** and ad hoc subgroup filters.
***
## Playbook AI
An AI-powered feature available in both Profiles and Reporting.
* **Individual Profiles:** Summarizes 45+ datapoints into a narrative and supports Q\&A via “Ask Playbook AI.”
* **Reporting:** Generates team-level insights, surfacing shared tendencies and cultural patterns.
***
## Knowledge
Custom content you upload to enhance Playbook AI responses.
* Add organization-specific context, terminology, and coaching frameworks.
* Documents are automatically referenced when generating debriefs or answering questions.
* Managed in **Account > Playbook AI Knowledge**.
* See [Playbook AI Knowledge](/playbook-ai-knowledge) for details and examples.
***
## Extensions
Highlight extreme scores in tables (optional toggle).
* **0–10 = very low expression**
* **90–100 = very high expression**
* Helps you quickly identify outliers in DISC or Focus results.
# Data Privacy
Source: https://support.profilebehavior.com/data-privacy
See how Profile protects your information with data privacy standards
At Profile, protecting sensitive information is more than a requirement. It’s a core part of how we build and deliver our platform. Our clients trust us with data that matters, and we take that responsibility seriously.
## Our Philosophy
We follow a **security-first, privacy-by-design** approach. Every stage of our product lifecycle, from development, to infrastructure deployment, to ongoing operations, is guided by three principles:
1. **Confidentiality** – Only the right people have access to the right data, at the right time.
2. **Integrity** – Data remains accurate, consistent, and protected from unauthorized change.
3. **Availability** – Systems are designed to be resilient, ensuring access when you need it.
## Development Practices
* **Rigorous standards:** Security considerations are embedded into our coding practices, peer reviews, and testing.
* **Continuous improvement:** We evaluate new vulnerabilities, threats, and compliance requirements as part of our regular release cycle.
* **Least privilege access:** Engineers and staff only receive the minimum access necessary to perform their role.
## Infrastructure Safeguards
* **Defense in depth:** Multiple layers of safeguards ensure that even if one control fails, others remain in place.
* **Encryption everywhere:** All sensitive data is encrypted in transit and at rest.
* **Monitoring & detection:** Traffic and access are continuously monitored to prevent, detect, and respond to potential issues.
* **Resilience:** Redundancy and backup strategies minimize downtime and data loss.
## Compliance & Transparency
* **Global standards:** Our practices align with widely recognized privacy and security frameworks.
* **Client control:** Data can be exported or deleted upon request, ensuring you remain in control of your information.
* **Documentation:** Our Trust & Compliance Portal centralizes security policies, disaster recovery plans, and compliance resources.
* **Higher education readiness:** For university clients, an up-to-date HECVAT is available upon request.
## Our Commitment
Security isn’t a feature we add on top — it’s a foundation we build on. By combining **rigorous engineering**, **layered infrastructure controls**, and **clear client rights**, Profile provides a platform that organizations can trust for the long term.
> For full details, see our [Terms of Service](https://profilebehavior.com/legal/terms), [Privacy Policy](https://profilebehavior.com/legal/privacy), or visit our [Trust & Compliance Portal](https://trust.profilebehavior.com/).
# Introduction
Source: https://support.profilebehavior.com/introduction
Start here to unlock the full potential of your team with Profile.
## About Profile
Profile is a modern behavioral intelligence platform built to empower organizations, athletic departments, and institutions. Our software delivers actionable behavioral insights through proprietary assessments and world-class tools, supporting better recruiting, leadership development, and team performance.
## About this site
This site is your comprehensive guide to using Profile. Here, you’ll find detailed walkthroughs, best practices, and troubleshooting advice for every feature and view in our platform. Whether you’re a new user getting started or a seasoned manager exploring advanced capabilities, our goal is to help you get the most out of Profile.
Get started with Profile in minutes by learning the basics
Expore the latest features and updates to the Profile platform
## Need help?
If you can’t find what you’re looking for, our support team is here for you. Contact us at [support@profilebehavior.com](mailto:support@profilebehavior.com) or explore more resources below.
Check real-time updates on Profile’s performance and uptime
Explore our API endpoints to connect Profile with your internal tools
See how teams and organizations are succeeding with Profile
Learn how Profile keeps your data secure and meets compliance standards
# Inviting Users
Source: https://support.profilebehavior.com/inviting-users
Invite teammates and start building your team’s insights together
You can manage your team and send invitations directly from the **Users** page in the left navigation bar.
## Invite one or more users
1. Go to **Users** from the navigation bar.
2. Click **Invite User**.
3. For each person you’re inviting, provide:
* **Full name**
* **Email address**
* **Phone number** (optional)
* **Role**: **User**, **Manager**, or **Owner**
4. (Optional) Click **+ Add another user** to invite multiple people at once.
5. Click **Invite** to send invitations.
> **Tip:** Use the **+ Add another user** button to batch your invites for a season, department, or onboarding class.
## Roles
* **User** – Standard access for day-to-day work.
* **Manager** – Elevated access for managing resources and workflows.
* **Owner** – Full administrative access. **Owners also have access to billing options.**
> **Note:** You can change a user’s role later from the **Users** page.
## Troubleshooting
* **Didn’t receive an email?** Ask the invitee to check spam/junk and verify the email address is correct.
* **Wrong role selected?** Edit the user from the **Users** page to adjust their role.
# Using Playbook AI
Source: https://support.profilebehavior.com/playbook-ai
How to use the dedicated Playbook AI view to manage your chats.
**Playbook AI** is your team's resident expert on behavioral intelligence. The dedicated Playbook AI view gives you a full-screen workspace for your conversations.
## Opening the Playbook AI view
You can find the "Ask Playbook AI" button in every Profile, on the Dashboard, and in the Reporting view. There are two ways to access the dedicated Playbook AI view:
* Select **Playbook AI** from the main navigation.
* Select the **Expand** option inside any existing Playbook AI chat.
Both routes land you in the same workspace, with your full chat history available in the sidebar.
## Starting a new chat
From the Playbook AI view you can start a new chat that isn't tied to a single Profile up front. That makes it the right tool when you want to compare several people side by side, ask a question before deciding which Profiles are relevant, or explore a behavioral concept without anchoring it to one person.
Chats which were started from the Dashboard, Reporting view, or an individual profile are "linked" to that view. You can "unlink" a chat to disassociate it from its host view by choosing that option in the three-dot menu in each chat.
## Mentioning Profiles and Tags
Pull people into the conversation by typing `@` while you write your message. A picker appears with matching **Profiles** and **Tags** — select one to reference them in the chat. You can mention as many profiles and tags as you like.
Every Profile you've mentioned is pinned to the top of the chat view, so you can see who's in scope without scrolling back through the conversation.
## Voice Chat
You can speak directly with Playbook AI from any chat. With an empty prompt in the message field, you'll see a phone icon on the submission button. Click it to begin a voice chat with Playbook AI. If there is already an existing conversation, Playbook AI will summarize it first. Feel free to interrupt and ask your question, Playbook AI will immediately begin responding to your inquiry.
A transcript of your conversation is added to the message history of the chat, switching between voice and text is seamless!
## Incognito chats
You can also start an **incognito chat**. Incognito chats don't retain any history once you switch to another chat or view — useful for quick, one-off questions you don't need to revisit.
Once you leave an incognito chat, the conversation history is gone. Use these chats for disposable, short-term conversations.
## Managing your chats
Your chats appear in the sidebar in order of most recent activity, with the latest at the top. Each chat's title is generated automatically as a short summary of its contents, so you can find earlier conversations at a glance.
To delete a chat, open it and clicke the **Delete** icorn. You'll be prompted to confirm before anything is removed.
Deleting a chat is permanent and cannot be undone.
# Playbook AI Knowledge
Source: https://support.profilebehavior.com/playbook-ai-knowledge
Customize Playbook AI with your own knowledge base
**Playbook AI Knowledge** lets you upload custom content that Playbook AI uses when generating debriefs and responding to conversations. By adding organization-specific knowledge, you can make AI outputs more relevant to your team's context, terminology, and practices. Your custom content enriches Playbook AI's responses without replacing its core behavioral science expertise.
Playbook AI Knowledge is available for Enterprise plans. Contact sales to enable this feature for your organization.
## How it works
When you upload a knowledge document, Playbook AI can reference it when generating debriefs or responding in conversations. The AI automatically finds and incorporates relevant information based on the profile being discussed.
## Adding knowledge
To add a knowledge document:
1. Navigate to **Account** from the left navigation
2. Scroll to the **Playbook AI Knowledge** section
3. Click the **Add AI knowledge** button
4. Enter a **title** for easy reference
5. Select the **assessment type** the content relates to (Mixed, DISC, Core, Focus). Mixed is a good default for general content.
6. Paste or write your content in **Markdown format**
7. Click **Save**
The document will process in the background. You'll see the status change from "Processing" to "Ready" once it's available for the AI to use.
Documents are limited to 1 MB in size. For larger content, consider splitting it into multiple focused documents.
## Assessment types
When uploading a document, you'll choose which assessment type it relates to:
| Type | Use for |
| --------- | -------------------------------------------------------------------------- |
| **DISC** | Content about behavioral styles, communication preferences, work patterns |
| **Core** | Content about values, motivation, what drives people |
| **Focus** | Content about personality traits, emotional patterns, cognitive tendencies |
| **Mixed** | General content that spans multiple assessment areas |
Choosing the right type helps the AI surface your content when it's most relevant.
## Content ideas and examples
Here are some ways organizations use Playbook AI Knowledge to enhance their experience:
### Team and culture context
Help the AI understand your organization's unique environment:
```markdown theme={"system"}
# Our Team Culture
We're a fast-paced sales organization where results matter. Our team values:
- Direct, efficient communication
- Friendly competition between team members
- Quick decision-making over lengthy deliberation
- Celebrating wins publicly
When coaching team members, focus on how their behavioral style
can drive sales performance and client relationships.
```
### Industry-specific terminology
Translate behavioral insights into your industry's language:
```markdown theme={"system"}
# Athletic Program Context
When discussing behavioral profiles for student-athletes, use terminology
familiar to coaches:
- Instead of "high Dominance," say "competitive drive" or "alpha mentality"
- Instead of "high Influence," say "locker room presence" or "energy bringer"
- Instead of "high Steadiness," say "steady performer" or "reliable teammate"
- Instead of "high Correctness," say "technique-focused" or "detail-oriented"
Relate behavioral insights to on-field/on-court performance and team dynamics.
```
### Coaching frameworks
Add your organization's development philosophy:
```markdown theme={"system"}
# Leadership Development Framework
We use a three-stage leadership pipeline:
1. **Individual Contributor** — Focus on self-awareness and personal effectiveness
2. **Team Lead** — Emphasis on adapting communication style to team members
3. **Director+** — Strategic thinking and cross-functional influence
When debriefing leaders, connect their behavioral profile to their
current stage and what's needed for the next level.
```
### Onboarding context
Help new team members understand behavioral insights in your context:
```markdown theme={"system"}
# New Hire Integration
During the first 90 days, new team members should focus on:
1. Understanding their own behavioral tendencies
2. Observing team dynamics and communication norms
3. Identifying potential friction points with their manager's style
4. Building relationships with complementary behavioral types
Encourage new hires to share their profile with their team during
the second week as an icebreaker.
```
## Best practices
Generic content won't help much. Include concrete examples, specific terminology, and real scenarios from your organization.
Update documents when your practices change. Outdated content can lead to irrelevant AI responses.
Markdown headings and bullet points help the AI find and use your content effectively.
Begin with one or two focused documents. See how they impact AI outputs before adding more.
Deleting a document removes it immediately from Playbook AI's knowledge base. This cannot be undone.
## Frequently asked questions
Most documents process within a few minutes. Once the status shows "Ready," the content is immediately available to Playbook AI.
Currently, the AI integrates document content seamlessly into its responses without explicit attribution. We're exploring ways to surface this in the future.
Each account can have up to 10 active documents. If you need more, contact support to discuss your use case.
Yes. Playbook AI Knowledge enhances both the one-click debrief generation and the interactive conversation feature.
Check that your content is valid Markdown and within size limits. If issues persist, contact support.
# Quickstart
Source: https://support.profilebehavior.com/quickstart
Get started with Profile in minutes by learning the basics.
You’ve been invited to join Profile—your team’s behavioral intelligence platform.
Look for an invitation from Profile. Click the link to activate your account and set your password.
Access your account using your email and password, or a social login if you selected one. All user accounts require multi-factor authentication (MFA) for added security.
Complete the assessment to generate a behavioral profile. This helps you understand your strengths and supports your team’s success.
Share Profile with others by inviting teammates directly from the dashboard, or copy your unique assessment link to start collecting behavioral insights.
Inviting your teammates ensures you get the most value from Profile’s analytics and team tools.
## Key Terms to Know
* **Account:** Your organization’s Profile instance, which includes all your team members and assessment data.
* **Profile:** The results and data from someone who’s completed assessments.
* **Role:** Your access level for an account, either User, Manager, or Owner.
* **User:** Someone who can log in to Profile and view your Account data.
* **DISC:** The behavioral assessment model used to generate high-level behavioral insights.
* **Focus:** A more detailed behavioral assessment model built to provide deeper insights.
* **Core:** An assessment to explores an individual’s core motivators and values.
Need a deeper dive on terminology? See Core Concepts for a full glossary.
***
## What’s Next?
Ready to grow your team’s insights? [Learn how to invite users »](/inviting-users)
***
# Reading Profiles
Source: https://support.profilebehavior.com/reading-profiles
Learn how to interpret profiles and uncover behavioral insights
Each Profile combines data from three behavioral assessments (DISC, Focus, and Core) into a clear, actionable report. This guide explains each section of the Profile and how to interpret it.
## Graphs (DISC & Focus)
At the top of the Profile, you’ll see two tabs that visualize results from the DISC and Focus assessments. You can toggle between them at any time.
### DISC Graph
The DISC assessment measures four core behavioral dimensions:
* **Dominance** – Direct, decisive, takes charge.
* **Influence** – Outgoing, persuasive, socially expressive.
* **Steadiness** – Loyal, dependable, patient.
* **Correctness** – Analytical, precise, detail-focused.
Each DISC dimension is scored on a scale from 0–100 and displayed as a line graph.
### Focus Graph
The Focus assessment measures five domains related to attention, workflow, and communication:
* **Flexibility** – Openness to change and adaptability.
* **Organization** – Structure, planning, and execution.
* **Communication** – Frequency, directness, and clarity of communication.
* **Understanding** – Empathy and ability to grasp perspectives.
* **Stability** – Emotional steadiness and resilience.
Just like the DISC assessment, each Focus domain is scored on a scale from 0–100 and displayed as a line graph.
### Stat Bar
Directly beneath the graph, a **stat bar** provides at-a-glance insights:
* **DISC Letter Style** (e.g., SC, DI)
* **Archetype** (e.g., Assessor, Builder)
* **Top Value** (from the Core assessment — see section 3)
* **Time to Complete** (how long the participant took to finish all assessments)
***
## Playbook AI Debrief
The **Playbook AI** section generates a narrative overview of the participant’s style.
* Draws from **45 behavioral datapoints** across DISC, Focus, and Core assessments.
* Summarizes the participant’s tendencies in **easy-to-read paragraphs**.
* Provides a balanced view of strengths, challenges, and situational behaviors.
### Ask Playbook AI
Alongside the written debrief, the **Ask Playbook AI** button lets you interact with an AI assistant trained on Profile results. You can:
* Ask clarifying questions about the Profile.
* Explore how a participant may behave in specific contexts.
* Get tailored recommendations for coaching, recruiting, or team integration.
***
## Style Overview
The **Style Overview** summarizes a person’s DISC style in plain language and four domain cards. It’s designed for a quick read before you dive into the rest of the report.
### What you’ll see
* A brief **style narrative** describing the person’s overall DISC pattern and archetype (e.g., *“Analysts are logical and reserved…”*).
* Four **style cards**—**D**, **I**, **S**, **C**—each showing a **0–100 score** (displayed as a percentage), the style name, a **Dominant Fear**, and a short description.
Scores are **not additive**. Each domain is independently scaled (0–100) to indicate relative intensity.
### Interpreting the four DISC styles
#### D — Dominant & Direct
* **What it reflects:** How assertively someone prefers to approach problems and decisions.
* **High D tends to:** Move quickly, take charge, pursue goals, confront obstacles.
* **Lower D tends to:** Be more cautious, collaborative, or consultative before acting.
* **Dominant fear:** **Being taken advantage of.**
#### I — Influencing & Inspiring
* **What it reflects:** How someone engages with people—energy, optimism, persuasion.
* **High I tends to:** Seek connection, communicate frequently, energize groups.
* **Lower I tends to:** Prefer reserved, task-focused interactions and smaller circles.
* **Dominant fear:** **Not being accepted.**
#### S — Steady & Stable
* **What it reflects:** Preferred pace, consistency, and supportiveness in daily work.
* **High S tends to:** Be patient, calm under pressure, dependable, team-oriented.
* **Lower S tends to:** Prefer variety, faster pace, and frequent change.
* **Dominant fear:** **Loss of security or change.**
#### C — Compliant & Correct
* **What it reflects:** Orientation toward accuracy, standards, and data.
* **High C tends to:** Value precision, quality, and well-defined processes.
* **Lower C tends to:** Optimize for speed, flexibility, and “good enough” outcomes.
* **Dominant fear:** **Criticism or being incorrect.**
### How to read this section effectively
1. **Start with the narrative:** It frames the person’s overall pattern and archetype in everyday language.
2. **Scan the four scores:** Identify **primary** (highest) and **secondary** domains; these often explain the Profile’s **letter style** (e.g., **SC**, **DI**).
3. **Consider the Dominant Fears:** These are powerful coaching cues that explain avoidance patterns and stress triggers.
4. **Apply context:** High/low expressions can be strengths or risks depending on role, team needs, and situation.
***
## Focus Overview
The **Focus Overview** visualizes five domains you can switch between via tabs: **Flexibility, Organization, Communication, Understanding,** and **Stability**. Each domain shows:
* A **domain score (0–100)** with a short narrative and keywords.
* A bar chart of **six related facets** (each 0–100).
* Facet descriptions below the chart.
Domain and facet scores are independent 0–100 scales (they are not additive). Higher scores indicate a stronger or more frequent expression of that quality.
### How to read a domain
1. **Select a tab** (e.g., *Flexibility*).
2. **Skim the domain narrative** to understand the overall tendency.
3. **Scan the six facet bars** to see which sub-qualities are highest/lowest.
4. **Open the facet descriptions** under the chart to ground the numbers in plain language.
5. **Apply context** (role, environment, current goals) when interpreting high/low expressions.
### What each Focus domain measures
Scores run 0–100. High/low is not good/bad—effectiveness depends on role, team context, and goals.
#### Flexibility
Openness to new ideas and approaches; willingness to adapt thinking and methods.
**Higher tends to:** Explore alternatives, integrate feedback, pivot gracefully, learn quickly.
**Lower tends to:** Prefer proven methods, value consistency, change more deliberately.
**Watch out for:** Very high Flexibility can lead to constant switching; very low can stall innovation.
#### Organization
Planning, structure, and follow-through on tasks and goals.
**Higher tends to:** Build systems, clarify priorities, track progress, meet deadlines reliably.
**Lower tends to:** Work more fluidly, improvise, handle shifting priorities on the fly.
**Watch out for:** Very high Organization can become rigid; very low can create avoidable churn.
#### Communication
Frequency, clarity, and assertiveness of expression with others.
**Higher tends to:** Share context proactively, energize groups, align stakeholders.
**Lower tends to:** Be concise/reserved, prefer written updates, limit social bandwidth.
**Watch out for:** Very high Communication can overwhelm signals; very low can create ambiguity.
#### Understanding
Interpersonal attunement, ethics, and collaborative orientation.
**Higher tends to:** Build trust, weigh impacts on others, strengthen team cohesion.
**Lower tends to:** Be self-reliant and direct, focus on task over relationship cues.
**Watc out for:** Very high Understanding can slow hard calls; very low can miss social risks.
#### Stability
Emotional steadiness, stress regulation, and resilience.
**Higher tends to:** Stay calm under pressure, recover quickly from setbacks, project composure.
**Lower tends to:** React more strongly to stress, be vigilant to risks and uncertainties.
**Watch out for:** Very high Stability may mask urgency; very low can drain focus and morale.
***
## Core Values
The **Core Values** section reveals what truly motivates the person. Values are shown in **priority order**—**1** is the strongest current driver—each with a short definition and practical “fit statements” that describe an ideal environment.
### What you’ll see
* **Ranked value cards** (e.g., `Advancement`, `Family Happiness`, `Economic Security`, `Freedom`, `Integrity`).
* A brief **description** for each value explaining what it means in day-to-day work.
* A set of **fit statements** on the right (e.g., “There is a clear structure with room for advancement.”) that indicate conditions where the person is most motivated.
The person’s top value also appears in the stat bar near the graphs for quick reference.
### How to read it
1. **Scan the top 1–2 values** for primary motivators—these often explain decisions, engagement, and trade-offs.
2. **Use the fit statements** to translate values into specific environmental needs (policies, cadence, feedback, rewards).
3. **Balance with role realities:** A lower-ranked value isn’t unimportant; it’s just less motivating **right now**.
4. **Revisit over time:** Values can shift with life stage or responsibilities.
### Putting Core Values to work
* **Role/Project fit:** Map responsibilities and success metrics to the top values.
* **Coaching & retention:** Align recognition, growth paths, and autonomy with what the person values most.
* **Expectations clarity:** If a value (e.g., *Freedom*) is high, agree on outcome-based checkpoints rather than step-by-step oversight.
* **Conflict prevention:** When decisions create friction, refer back to value priorities to explain trade-offs.
> **Conversation starters**
>
> * “Which of these fit statements feels most true right now?”
> * “What’s one small change we can make this month to better support your top value?”
> * “When has this value helped you do your best work recently?”
***
## Behavioral Traits
The **Behavioral Traits** section translates the Profile’s results into practical guidance. It opens with a short **narrative** and three columns that summarize likely patterns:
* **Strengths** – natural advantages to leverage
* **Areas for Improvement** – skills/behaviors that benefit from intentional practice
* **Under Stress** – common pressure responses and early warning signs
> **How to use:** Start with the narrative for context, then pick one Strength to lean into and one Improvement to develop. Use **Under Stress** as a checklist for prevention and recovery strategies.
***
## Communication
This section provides **situational communication guides** organized into four contexts. Each column includes **Do** guidance and **Avoid** cautions so teams can form quick working agreements.
***
## Localization
Every section of a Profile is available in multiple languages. The Locale Switcher sits at the bottom-left of the report screen, use it to change the language of any profile content.
The Locale Switcher also appears in the assessment itself. Your applicants can complete Focus, DISC, and Core in whatever language works for them.
Supported languages: English, Simplified Chinese, German, Spanish, French, Japanese, Korean, Dutch, and Portuguese.
Your chosen language is set as a preference and applies to all other Profiles you view. You can change it at any time while viewing a Profile.
# Reporting
Source: https://support.profilebehavior.com/reporting
Generate detailed team reports to track behavioral trends
The **Reporting** page lets you compare many Profiles quickly. By default, **all available Profiles** are included. Use **Filter** to narrow the dataset by **Tag** or by **DISC letter style** (e.g., DI, SC).
Changes to filters update **every section** of the page so you’re always looking at the same cohort.
## How to use Reporting
1. Open **Reporting** from the left navigation.
2. (Optional) Click **Filter** near the top of the page:
* **Tags:** Include only Profiles with the selected tags.
* **DISC letter styles:** Include only the chosen styles (e.g., DI, SC).
3. Review the sections from top to bottom (distribution ➜ AI debrief ➜ tables) to move from **overview** to **detail**.
Create and apply meaningful tags (e.g., `Fall Recruiting 2025`) before running comparisons so you can isolate cohorts with one click.
## Sections at a glance
**Reading order:** Start with the DISC distribution to understand team makeup, scan the AI debrief for themes, then use the tables to pinpoint **who** drives those patterns.
### DISC Makeup
The DISC Makeup table shows the percentage of the selected team that falls into each DISC domain:
* **First letter** – % of team where this letter is the leading style (e.g., “D” in **DI**).
* **Contains letter** – % of team where this letter appears anywhere in the style (e.g., “S” in **SC**).
* **Single letter** – % of team whose style is defined by this single letter (e.g., pure **C**).
This gives you a **quick view of team composition**, answering questions like:
* Which style is most common?
* How evenly distributed are the four letters?
* Do we have gaps or overrepresentation in certain styles?
**Use case:** A leader may check if a roster skews toward **S and C** types (steady, precise operators) versus **D and I** types (fast-paced drivers and influencers).
***
### Playbook AI — Team Debrief
Directly beneath the table, **Playbook AI** analyzes the entire group at once.
* Pulls from **all DISC, Focus, and Core data** of the filtered Profiles.
* Highlights team-level **patterns, strengths, and risks**.
* Notes contrasts (e.g., “some very outgoing, others reserved”) and convergence points (shared values or tendencies).
* Surfaces **cultural tone** and how the group may respond under stress.
The narrative is written in plain language and includes **highlighted keywords** for quick scanning (e.g., *Dominance, Influence, Steadiness, Correctness*).
The Team Debrief supports cohorts of up to 40 profiles. The debrief won't be generated for larger cohorts as the resulting analysis is overly broad and generalized, lacking actionable insight.
***
### DISC Style Summary
The **DISC Style Summary** provides a table and comparison tools for analyzing DISC scores across multiple Profiles. It’s the most interactive section of the Reporting page.
* **Table view:** Each row is an individual Profile, showing:
* Letter style (e.g., SC, DI, IC)
* Domain scores for **Dominance, Influence, Steadiness, Correctness** (0–100 scale)
* **Averages row:** Displays team-wide averages at the top.
* **Highlight extensions:** Toggle on/off to flag extreme scores:
* **0–10 = very low**
* **90–100 = very high**
#### Compare mode
1. Select up to 10 Profiles in the table.
2. Click **Compare**.
3. A line graph appears, plotting each selected Profile across the four DISC domains.
This allows for **side-by-side visual comparison** of individuals, making it easy to spot differences and similarities.
#### Apply as filter
* After selecting one or more Profiles, click **Apply as filter**.
* This narrows the **entire Reporting view** (including AI debrief, Core Values, and Focus Scores) to only those Profiles.
* Useful for ad hoc subgroups that don’t have a dedicated Tag.
#### How to use this section
* **Roster planning:** Compare two or three candidates visually before making a decision.
* **Role fit:** Check how one person’s style balances or contrasts with the team average.
* **Cohort analysis:** Apply filters for subsets (e.g., “all incoming freshmen”) and review their distribution.
Use Highlight Extensions to catch potential outliers quickly. A very high **D** (90+) paired with a very low **S** (10–) will behave differently than someone with balanced scores.
***
### Core Values Summary
The **Core Values Summary** table compares what motivates each Profile in the selected group. It displays the **top five values** for every individual, side by side, as well as a calculated set of **Team Values** at the top.
* **Team Values row** – Aggregates the most common motivators across the selected Profiles, giving you a snapshot of shared priorities.
* **Individual rows** – Each Profile is listed with their first through fifth values in order of importance.
#### How to use this section
* **Spot common drivers:** Check the Team Values row for themes that shape group culture.
* **Identify alignment/misalignment:** Compare individual values against team values to see who is highly aligned versus who may need unique support.
* **Pairing and coaching:** Use the second and third values to fine-tune how someone stays engaged beyond their top motivator.
* **Role fit:** Ensure high-priority values (e.g., *Advancement, Integrity*) align with role expectations and team environment.
#### Examples
* A team where **Freedom** and **Integrity** show up consistently may thrive on autonomy and ethical clarity.
* An individual with **Economic Security** as their top value may prioritize stability, which can shape how they evaluate opportunities.
* Someone with **Achievement** or **Power** in their top five may be especially driven by competition and leadership chances.
Use this table alongside the **DISC Style Summary** to see how motivation (why someone acts) aligns with behavior (how they act).
***
### Focus Summary
The **Focus Summary** table shows how each Profile scores across the five Focus domains and their six underlying facets. Because this is a large dataset, the section uses **tabs** to help you view one domain at a time.
* **Tabs for each domain:** Flexibility, Organization, Communication, Understanding, Stability
* **Averages row:** Displays team-wide averages at the top
* **Individual rows:** Each Profile’s domain score plus all six related facet scores
* **Highlight extensions:** Toggle on/off to flag extreme facet scores
* **0–10 = very low**
* **90–100 = very high**
#### Navigating the tabs
* **Flexibility:** Creativity, Aesthetic Appreciation, Emotional Awareness, Innovativeness, Intellectual Curiosity, Open-Mindedness
* **Organization:** Self-Belief, Systemization, Responsibility, Goal-Oriented, Discipline, Prudence
* **Communication:** Friendliness, Sociability, Leadership, Vigor, Adventure-Seeking, Cheerfulness
* **Understanding:** Trust, Integrity, Generosity, Teamwork, Humility, Compassion
* **Stability:** Composure, Temperance, Optimism, Confidence, Self-Control, Resilience
> Switching tabs does not reset filters, only the dataset you’re viewing.
#### How to use this section
* **Spot extremes quickly:** Use Highlight Extensions to identify individuals with standout strengths or gaps.
* **Compare individuals vs. averages:** Look at the team average to see where one person may be unusually high or low.
* **Drill down domain by domain:** Tabs keep the view manageable. Focus (no pun intended) on one area before moving to the next.
* **Combine with other tables:** Check whether high/low Focus facets align with DISC or Core Values for deeper insights.
#### Examples
* A team with consistently high **Stability** facets may stay calm and resilient under stress.
* A single individual with very high **Innovativeness** but very low **Prudence** may generate ideas rapidly but need structure to follow through.
Use the table for **pattern recognition**—look for clusters (e.g., several individuals with high Communication facets) that shape team dynamics.
# Single Sign-On (SSO)
Source: https://support.profilebehavior.com/sso
Configure enterprise SSO for your organization using SAML or OIDC
**Single Sign-On (SSO)** allows your team members to authenticate using your organization's identity provider (IdP). This provides a seamless login experience and centralized access control.
SSO is available for Enterprise plans. Contact sales to enable SSO for your organization.
## Supported protocols
Profile supports two industry-standard SSO protocols:
| Protocol | Best for |
| ------------ | ----------------------------------------------------------------------- |
| **SAML 2.0** | Most enterprise IdPs (Okta, Azure AD/Entra, Google Workspace, OneLogin) |
| **OIDC** | Modern IdPs with OpenID Connect support |
## Setting up SSO
### Prerequisites
Before configuring SSO, ensure you have:
* Owner or Admin role in your Profile organization
* Administrator access to your identity provider
* Your organization's email domain (e.g., `yourcompany.com`)
### Step 1: Create an SSO connection
1. Navigate to **Account** from the left navigation
2. Scroll to the **Single Sign-On (SSO)** section
3. Click **Add SSO connection**
4. Choose your connection type (SAML or OIDC)
5. Enter a **display name** (e.g., "Okta SSO" or "Company Azure AD")
6. Select your **identity provider** from the dropdown if available
After creating the connection, you'll receive configuration details to enter in your IdP.
### Step 2: Configure your identity provider
In your identity provider, create a new SAML application and configure:
**Service Provider (SP) Details** — provided by Profile:
* **ACS URL** (Assertion Consumer Service)
* **Entity ID** (SP Entity ID)
**Attribute Mapping** — map these user attributes:
| Profile Attribute | Common IdP Names |
| ----------------- | --------------------------------------------------------------------------------------------- |
| `email` | `email`, `emailAddress`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` |
| `full_name` | `name`, `displayName`, `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` |
Attribute names vary by IdP. Check your provider's documentation for exact field names.
In your identity provider, create a new OIDC application and note:
* **Client ID**
* **Client Secret**
* **Issuer URL**
Set the **Redirect URI** to the value provided by Profile.
### Step 3: Complete the connection
Return to Profile and enter the configuration from your IdP:
If your IdP provides a metadata URL:
1. Enter your **Email Domain** (e.g., `yourcompany.com`)
2. Enter the **Metadata URL**
3. Click **Save**
Profile will automatically fetch and configure the connection details.
If your IdP doesn't provide a metadata URL:
1. Enter your **Email Domain**
2. Enter the **IdP Entity ID**
3. Enter the **IdP SSO URL**
4. Paste the **X.509 Certificate** (in PEM format)
5. Optionally customize the **Attribute Mapping**
6. Click **Save**
1. Enter your **Email Domain**
2. Enter the **Client ID**
3. Enter the **Client Secret**
4. Enter the **Issuer URL**
5. Click **Save**
Once saved, the connection status will update to **Active** if configured correctly.
## Enforcing SSO
After SSO is configured and working, you can require all users to authenticate via SSO:
Enable **Require SSO for all users**
When SSO is required, users cannot log in with passwords, magic links, or social login. Ensure your SSO connection is working before enabling this setting.
## How users log in with SSO
Once SSO is configured, users can authenticate in two ways:
### Email-based discovery
1. User enters their email address on the login page
2. Profile detects their domain has SSO configured
3. User is redirected to your IdP to authenticate
4. After successful IdP authentication, user is logged into Profile
## Managing SSO connections
### Viewing connections
Navigate to **Account > Single Sign-On (SSO)** to see all configured connections, including:
* Connection name and type (SAML/OIDC)
* Status (Active, Pending, or Inactive)
* Identity provider
### Updating a connection
Click on an existing connection to update its configuration. This is useful when:
* Your IdP certificate is rotating
* You need to update attribute mappings
* Connection details have changed
### Deleting a connection
Deleting an SSO connection will prevent users from logging in via that IdP. If SSO is required, users will be locked out until a new connection is configured or SSO requirement is disabled.
To delete a connection:
1. Click the connection you want to remove
2. Click **Delete Connection**
3. Confirm the deletion
## Troubleshooting
Ensure all required fields are configured:
* For SAML: IdP Entity ID, SSO URL, X.509 Certificate, and Attribute Mapping
* For OIDC: Client ID, Client Secret, and Issuer URL
Verify the email domain is set correctly.
Your IdP's attribute mapping doesn't match what Profile expects. Check that:
* The email attribute is being sent in the SAML response
* The attribute name in your IdP matches your Profile configuration
Common email attribute names: `email`, `emailAddress`, or the full SAML claim URI.
Ensure the **Redirect URL** or **ACS URL** configured in your IdP points to the correct Profile environment (production vs staging).
The user's email domain must match the configured SSO domain. Users with emails from other domains will need to use standard authentication methods.
## IdP-specific guides
Create a SAML 2.0 application in Okta. Use the metadata URL for easy configuration.
Create an Enterprise Application with SAML SSO. Download the Federation Metadata XML URL.
Configure a custom SAML app in Google Admin Console.
Add a SAML 2.0 connector in OneLogin's application catalog.
## Security considerations
* SSO credentials are never stored by Profile — authentication is handled entirely by your IdP
* Session duration follows your IdP's configuration when SSO is used
* Enabling "Require SSO" ensures all authentication flows through your IdP's security policies
* Users are automatically provisioned on first SSO login if they don't already exist
# Tips for Using Profile (Transfer Portal)
Source: https://support.profilebehavior.com/transfer-portal
Using Profile to help you evaluate during the Transfer Portal period
## Getting a Player's Assessment Data
Whether or not the player you're evaluating has already taken the Profile assessment, the following steps apply. Simply invite the player to take the assessment using their **email address**. From your account Dashboard, do the following to send an invite.
1. Click **Send assessment** near the top of the page.
2. Enter the player’s **email address**.
3. (Optional) Apply one or more **tags**:
* Tags will automatically apply to any Profile created from this invite.
4. Click **Send invite**.
If the player has already completed the assessment, your invitation will NOT require them to retake the assessment.