People
A Person (or User) in GuideMode represents an individual who interacts with the platform. GuideMode uses a unified identity model that links accounts from multiple providers (GitHub, Jira, Linear) into a single person record.
Overview
Section titled “Overview”People in GuideMode can:
- Upload sessions from AI coding assistants via the desktop app
- Belong to teams within an organization
- Respond to surveys about their experience
- View dashboards and analytics
- Manage settings based on their role
Identity Linking
Section titled “Identity Linking”GuideMode recognizes that developers often have accounts across multiple tools. Instead of creating separate identities for each, GuideMode links them into a unified person record.
How Linking Works
Section titled “How Linking Works”- Email is the canonical identifier - When you sign in with any provider, your email address is used to match or create your account
- Provider IDs are stored - Each provider’s unique user ID is saved for API matching
- Automatic matching - When syncing issues or PRs, GuideMode matches authors/assignees to existing people by their provider IDs
Linking Examples
Section titled “Linking Examples”When a GitHub issue is synced:
- The author’s
githubIdis matched to find the Person - If found, the issue is attributed to that person
- If not found, the person can be created or left as “external”
When a Jira issue is synced:
- The assignee’s
jiraAccountIdis matched - Same matching logic applies
Key Fields
Section titled “Key Fields”| Field | Type | Description |
|---|---|---|
email | string | Primary identifier, must be unique |
name | string | Display name |
username | string | Username (from primary provider) |
avatarUrl | string | Profile picture URL |
githubId | number | GitHub user ID (nullable) |
jiraAccountId | string | Jira/Atlassian account ID (nullable) |
linearUserId | string | Linear user ID (nullable) |
isGlobalAdmin | boolean | System-wide admin (Anthropic staff only) |
isBlocked | boolean | Account blocked from access |
firstSessionUploadedAt | timestamp | When first AI session was uploaded |
Organization Membership
Section titled “Organization Membership”People belong to organizations through a membership relationship that includes their role:
A single person can belong to multiple organizations with different roles in each.
Membership Roles
Section titled “Membership Roles”| Role | Description |
|---|---|
owner | Full control over the organization |
admin | Manage teams, settings, and members |
member | Standard access to view and contribute |
support | Special access for support staff |
See Organizations for detailed role permissions.
Team Membership
Section titled “Team Membership”Within an organization, people can belong to multiple teams:
Team Roles
Section titled “Team Roles”| Role | Description |
|---|---|
maintainer | Team lead, can manage team settings |
member | Standard team member |
User Settings
Section titled “User Settings”Each person can configure their own preferences:
| Setting | Default | Description |
|---|---|---|
emailSurveyAssignments | true | Receive email when assigned a survey |
emailSurveyReminders | true | Receive reminder emails for pending surveys |
homeFocusPreference | ’both’ | Dashboard focus: ‘discovery’, ‘delivery’, or ‘both’ |
Activity Tracking
Section titled “Activity Tracking”GuideMode tracks key activity milestones for each person:
| Milestone | Description |
|---|---|
firstSessionUploadedAt | When the person first uploaded an AI session |
createdAt | When the account was created |
updatedAt | Last account modification |
These timestamps help track onboarding progress and engagement.
External vs Internal People
Section titled “External vs Internal People”When syncing data from providers, you may encounter references to people who aren’t members of your organization:
- Internal: Person exists in your organization, fully tracked
- External: Referenced in issues/PRs but not an org member
External people appear with limited information (username, provider ID) but aren’t counted toward your subscription and can’t access GuideMode directly.
Authentication
Section titled “Authentication”GuideMode supports multiple authentication methods:
OAuth Providers
Section titled “OAuth Providers”| Provider | Description |
|---|---|
| GitHub | Sign in with your GitHub account |
| Sign in with your Google account | |
| GitLab | Sign in with your GitLab account |
| Jira/Atlassian | Sign in with your Atlassian account |
| Linear | Sign in with your Linear account |
| Notion | Sign in with your Notion account |
Magic Link
Section titled “Magic Link”You can also sign in via Magic Link - enter your email address and receive a one-time login link. This is useful if you don’t have accounts with any of the OAuth providers.
How Sign-In Works
Section titled “How Sign-In Works”- Choose your preferred authentication method
- GuideMode receives your email and provider ID (for OAuth)
- If your email already exists, you’re signed in to that account
- If not, a new account is created
- Your provider ID is linked for future identity matching
Desktop App Authentication
Section titled “Desktop App Authentication”The GuideMode desktop app authenticates using a secure device flow that links to your web account.
Related Documentation
Section titled “Related Documentation”- Organizations - Organization structure and roles
- Teams - Team structure and membership
- Surveys - Survey targeting and responses