Data Lake: Data Schema
Here you can find all the data points currently available in the Data lake. You can use these data points to create your own insights and reports.
We are continuously adding new tables and data points.
- 1 users
- 2 custom fields
- 3 groups
- 4 group_users
- 5 teams
- 6 team_users
- 7 locations
- 8 content
- 9 channels
- 10 events
- 11 items
- 12 learnlists
- 13 quizzes
- 14 quizzes
- 15 quiz_attempts
- 16 quiz_attempt_answers
- 17 surveys
- 18 survey_occurrences
- 19 survey_attempts
- 20 survey_attempt_answers
- 21 activities
- 22 completions
- 23 starts
- 24 views
- 25 tasks
- 26 event_sessions
- 27 enrollments
- 28 skills (a.k.a Topics)
- 29 skill_categories (a.k.a Topic Categories)
- 30 skill_category_skills
- 31 content_skills
- 32 user_skills
- 33 session_tracks
- 34 managers
- 35 coaches
- 36 one_to_ones
- 37 one_to_one_attempts
- 38 one_to_one_attempt_answers
- 39 objectives
- 40 key_results
users
The users table contains details of each user within the company, including deactivated, and not yet active users.
Field name | Data type | Description |
---|---|---|
id | Integer | The unique user identifier |
sign_in_count | Integer | Count of the total number of times the user has logged in all-time |
current_sign_in_at | Timestamp | Timestamp (UTC) of the user’s most recent log in |
created_at | Timestamp | Timestamp (UTC) when the user was originally created |
first_name | String | First name of the user. (aka given name) |
last_name | String | Last name of the user. (aka surname) |
job_title | String | Job title of the user. (e.g. Marketing Assistant). Can be blank. |
language | String | Primary (selected) language for the user in ISO 653-1 format |
manager | Boolean | True/false flag to identify whether the user is a manager. Includes both primary team managers and override managers. |
time_zone | String | Time zone string for the users selected time zone (if any). |
coach_id | Integer | User id of the user’s coach (if any). |
is_coach | Boolean | True/false flag to identify if the user is designated as a coach |
manager_id | Integer | User is of the user’s override manager, or primary team manager if user has no override manager set. |
secondary_manager | Boolean | True/false flag to identify if the user is the secondary manager of any team. |
hire_date | Date | Hire date of the employee. Only set if this data is available from an HR system integration or similar. |
is_override_manager | Boolean | True/false false to identify if the user is designated as the override manager of another user. |
deactivated_at | Timestamp | Timestamp (UTC) for when the user was deactivated |
deactivated | Boolean | True/false flag it identify whether or not the user have been deactivated. |
system_role | String | System role of the user on Learn Amp. |
location_id | Integer | ID for the user’s primary location. See id in locations table. |
tenure_in_days | Integer | Total length of the user’s tenure in days (Today or Leave Date minus their Hire Date, in days). Will be null if Hire Date has not been set. |
leave_date | Date | Employment termination / leave date, if available/applicable. |
custom fields
The custom_fields
table contains each custom field value for each user.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique id of the user’s custom field. Can be ignored |
user_id | Integer | ID of the user that the custom field relates to |
custom_field_id | Integer | ID of custom field. This value will be repeated for each occurrence of this custom field |
name | String | name of the custom field, e.g. “Employee Number” |
value | String | value of the custom field for this particular user, e.g. “ABC123” |
groups
The groups table contains basic metadata of all groups. A group is a collection of users, defined by a set of filtering criteria. Users are added to groups automatically by the system, and are refreshed on a regular basis.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the group. |
created_at | Timestamp | Timestamp (UTC) for when the group was first created. |
name | String | Name of the Group |
group_users
The group_users table is a link table, associating users with groups. This table defines who belongs to which groups.
Field name | Data type | Description |
---|---|---|
group_id | integer | ID of the group, see id in groups table |
id | Integer | Unique ID of the group_user record. |
user_id | integer | ID of the user, see id in users table |
created_at | Timestamp | Timestamp (UTC) for when the given user was added to the given group. |
teams
The teams table contains basic metadata of all teams. A team may have a manager and secondary managers. Users may belong to a primary, and many secondary teams.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the team. |
name | String | Name of the team |
created_at | Timestamp | Timestamp (UTC) for when the team was first created. |
manager_id | Integer | User id of the manager of the team. See id in users table |
parent_team_id | Integer | ID of this team’s parent team. Teams may exist within a hierachy, and have parent and child teams. |
team_users_count | Integer | Count of users belonging directly to this team. (Excludes managers) |
team_user_caches_count | Integer | Count of users belonging directly to this team AND any of the child teams beneath this team in the hieracy. (Excludes team managers). |
manager_name | String | Full name of the team’s manager. This will be identical to full_name in users table, for the given manager_id |
team_users
The team_users table is a link table, associating users with teams. This table defines who belongs to which teams.
Field name | Data type | Description |
---|---|---|
team_id | integer | ID of the team, see id in teams table |
id | Integer | Unique ID of the team_user record. |
user_id | integer | ID of the user, see id in users table |
created_at | Timestamp | Timestamp (UTC) for when the given user was added to the given team. |
primary_flag
| Boolean | True/false flag to denote whether this is the user’s primary team. |
locations
The locations table contains basic metadata of all locations.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the location. |
name | String | Name of the location |
content
The content table contains basic metadata for all types of content referenced by activities and tasks. Content may belong directly to the company or is shared with the company from a library account.
Field name | Data type | Description |
---|---|---|
created_at | Timestamp | Timestamp (UTC) when the content was first created |
content_type | String | Type of the content on the Learn Amp platform. Since Items has multiple types, this field may be different from the type field described below. Example content types: video, article, book etc. |
name | String | Name (or title) of the piece of content. If the content has a title saved in multiple languages, the name stored here will be the first available translation - beginning with English, then English-USA, and so on. |
type_with_id | String | Concatenation of the content’s primary id with it’s type, in the form: item-123 |
type | String | The entity type of the content on Learn Amp. Will be one of: Item, Channel, Learnlist, Event, Quiz, Survey |
channels
The channels table contains basic metadata of all channels. Channels may include those belonging directly to the company, and those shared from a library account. channels is a subset of the content table, for reporting/listing only channels.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the channel. |
created_at | Timestamp | Timestamp (UTC) for when the channel was first created. |
name | String | Name of the channel |
events
This events table contains basic metadata of all events. events is a subset of the content table, for reporting/listing only events.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the event. |
created_at | Timestamp | Timestamp (UTC) for when the event was first created. |
name | String | Name of the event |
items
The items table contains basic metadata of all items. items is a subset of the content table, for reporting/listing only items. In Learn Amp, an item is a single learning object, such as a SCORM package, a downloable document, a video etc.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the item. |
guid | String | Globally unique identifier. Not used. Please ingore. |
source_id | String | If the item came from an external integration or import of content from another system, the source_id may be used to store the unique identifier of the item in that system |
source_type | String | If the item can from an external integration or import of content, source_type may be used to store a label/name of that system. |
created_at | Timestamp | Timestamp (UTC) for when the item was first created. |
name | String | Name of the item |
learnlists
The learnlists table contains basic metadata of all learnlists. Learnlists may include those belonging directly to the company, and those shared from a library account. learnlists is a subset of the content table, for reporting/listing only learnlists.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the learnlist. |
created_at | Timestamp | Timestamp (UTC) for when the learnlist was first created. |
name | String | Name of the learnlist |
quizzes
The quizzes table contains basic metadata of all quizzes. Quizzes may include those belonging directly to the company, and those shared from a library account. quizzes is a subset of the content table, for reporting/listing only quizzes.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the quiz. |
created_at | Timestamp | Timestamp (UTC) for when the quiz was first created. |
name | String | Name of the quiz |
quizzes
The quizzes table contains basic metadata of all quizzes. Quizzes may include those belonging directly to the company, and those shared from a library account. quizzes is a subset of the content table, for reporting/listing only quizzes.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the quiz. |
created_at | Timestamp | Timestamp (UTC) for when the quiz was first created. |
name | String | Name of the quiz |
quiz_attempts
Field Name | Data Type | Description |
---|---|---|
id | bigint (not null) | Unique ID of the quiz attempt |
quiz_id | bigint (not null) | Foreign key referencing the quizzes table |
user_id | bigint (not null) | Foreign key referencing the users table |
correct_answer_count | integer | Number of correct answers in the quiz attempt |
incorrect_answer_count | integer | Number of incorrect answers in the quiz attempt |
submitted_at | timestamp | Timestamp indicating when the quiz attempt was submitted |
score | integer | Overall score achieved in the quiz attempt |
passed | boolean | Indicates whether the user passed the quiz |
expired_at | timestamp | Timestamp indicating when the quiz attempt expired |
expired | boolean | Indicates whether the quiz attempt has expired |
most_recent | boolean | Indicates whether the attempt is the most recent one |
quiz_attempt_answers
The "quiz_attempt_answers" table is designed to store information about individual answers submitted by users during quiz attempts.
Field Name | Data Type | Description |
---|---|---|
question_id | bigint (not null) | Unique ID of the question in the quiz |
correct | boolean | Indicates whether the submitted answer is correct |
submitted_at | timestamp | Timestamp indicating when the answer was submitted |
quiz_attempt_id | bigint (not null) | Foreign key referencing the quiz_attempts table |
quiz_id | bigint (not null) | Foreign key referencing the quizzes table |
user_id | bigint (not null) | Foreign key referencing the users table |
most_recent | boolean | Indicates whether the answer is the most recent one |
question | varchar(255) | Text of the question being answered |
question_type | varchar(255) | Type of the question (e.g., multiple choice, essay) |
answer | varchar(2000) | Text of the submitted answer |
surveys
The surveys table contains basic metadata of all surveys. Surveys may include those belonging directly to the company, and those shared from a library account. surveys is a subset of the content table, for reporting/listing only surveys.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the survey. |
created_at | Timestamp | Timestamp (UTC) for when the survey was first created. |
name | String | Name of the survey |
survey_type | String | Returns the type of survey. |
survey_occurrences
The survey_occurrences table contains specific point in time issuances of surveys. Metadata around attempts (and therefore responses) is denormalized into this table for convenience.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the survey occurrence |
survey_id | Integer | ID of the survey that was issued. (Foreign ID reference to surveys table) |
issued_at | Timestamp | The precise time of issuance of the survey |
deadline | Date | The date that this survey occurrence is, or was due by |
attempts_issued | Integer | A count of attempts that were created as a result of the survey being issued - indicating the number of users the survey was issued to. |
attempts_completed | Integer | A count of the attempts relating to this survey that have been submitted - the number of users who have responded. |
response_rate | Integer | The response rate given as a percentage. |
survey_attempts
The survey_attempts table holds top level information about survey attempts. Attempts model the user’s attempt at a given Survey as relating to a specific occurrence thereof. The attempt is created prior to the user submitting any answers, so gives information about unsubmitted user attempts also.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the survey occurrence |
user_id | Integer | ID of the user that the attempt belongs to. (Foreign ID reference to users table) |
survey_id | Integer | ID of the survey that was issued. (Foreign ID reference to surveys table) |
deadline | Date | The date that this survey occurrence is, or was due by |
submitted_at | Timestamp | The specific date and time that this attempt was submitted at. This will be null if the user is yet to submit the attempt. |
currently_overdue | Boolean | Returns whether the attempt is currently overdue. This will only be true if the attempt is unsubmitted and past the deadline. |
overdue_when_submitted | Boolean | Returns whether, at the time of submission (submitted_at) the attempt was overdue. This will return false prior to submission. |
survey_type | String | Returns the type of survey the attempt was for, denormalized from surveys |
observation_subject_id | Integer | If the survey is an observation of another user, this returns the ID of htis user (Foreign id reference to users table) |
completed | Boolean | Returns true if the survey attempt has been submitted. |
started_at | Timestamp | Returns the specific time that the attempt was started. |
time_taken | Integer | Returns the number of seconds taken between starting and submitting the attempt. |
survey_occurrence_id | Integer | ID of the survey occurrence this attempt relates to. (Foreign id reference to survey_occurrences table) |
survey_attempt_answers
The survey_attempt_answers table contains one record per answer as relates to a user’s survey attmempt. This table contains the question information denormalized for convenience. In the case of multi-dimensional questions, or Polls, the question will be given in the form “Question - poll option”. Weightings & values are given by the value column, whilst the answer always contains the text representation if relevant.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the survey occurrence |
user_id | Integer | ID of the user that gave the answer (Foreign ID reference to users table) |
survey_attempt_id | Integer | ID of the survey attempt that this answer belongs to (Foreign id reference to survey_attempts table). |
survey_id | Integer | ID of the survey that was issued. (Foreign ID reference to surveys table) |
question | String | The question text. In the case of multi-dimensional questions, or Polls, the question will be given in the form “Question - poll option” |
question_type | String | The type of question this answer relates to. |
answer | String | The string representation of the answer, where applicable |
value | Integer | The integer representation of the answer, where applicable (eg weighting or sliding scale type questions) |
deadline | Date | The deadline for this particular survey attempt/occurrence. |
submitted_at | Timestamp | Returns the specific time that the answer and its parent attempt were submitted. |
survey_occurrence_id | Integer | ID of the survey occurrence this attempt relates to. (Foreign id reference to survey_occurrences table) |
activities
The activities table contains all the activity logged by users within the company. For reporting on content completion, we recommend using the completions table, described below. Likewise views and starts have their own table. Activities is the all encompassing table, which is used to generate the Activity Log on the Learn Amp platform.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique id of the activity record. For most use cases this can be ignored |
user_id | Integer | User id of the user who performed the activity. (Foreign id reference to users table) |
happened_at | Timestamp | Timestamp (UTC) for when the activity occurred |
completed | Boolean | True/false flag for whether this activity was a “content was completed” activity. |
result | String | Result value reported by SCORM (or similar) elearning package. Typically this will be PASS, FAIL, FAILED, UNKNOWN, COMPELETED. Most activity will have a null value for result. |
score | Integer | Score value reported by SCORM (or similar) elearning package. Generally this is a percentage value that the user achieved. Most activity will have a null value for score. |
total_time | Integer | Total time in seconds that the user took to complete the content, as reported by SCORM (or similar) elearning package. Most activity will have a null value for total_time. |
expired_at | Timestamp | Timestamp (UTC) for when the activity was marked as expired. Learn Amp will expire, for example, the previous year’s activity when a user has a new recurring task issued to them. |
single | Boolean | True/false flag to mark whether this is the most recent activity of this verb, for this user, for this piece of content. Used to filter by “only show unique activity”. |
type | String | Type of content this activity relates to. See type description for the content table. |
content_id | Integer | Unique id of the content this activity relates to. |
verb | String | Verb (label) for this activity. For example: completed, started, failed etc. |
expired | Boolean | True/false flag to indicate whether this activity has been marked as expired or not. See expired_at description. |
completions
The completions table contains all the content completed activity logged by users within the company. This is a subset of the activities table, and is recommended to use for completion reporting.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique id of the activity record. For most use cases this can be ignored |
user_id | Integer | User id of the user who performed the activity. (Foreign id reference to users table) |
happened_at | Timestamp | Timestamp (UTC) for when the activity occurred |
completed | Boolean | True/false flag for whether this activity was a “content was completed” activity. |
result | String | Result value reported by SCORM (or similar) elearning package. Typically this will be PASS, FAIL, FAILED, UNKNOWN, COMPELETED. Most activity will have a null value for result. |
score | Integer | Score value reported by SCORM (or similar) elearning package. Generally this is a percentage value that the user achieved. Most activity will have a null value for score. |
total_time | Integer | Total time in seconds that the user took to complete the content, as reported by SCORM (or similar) elearning package. Most activity will have a null value for total_time. |
expired_at | Timestamp | Timestamp (UTC) for when the activity was marked as expired. Learn Amp will expire, for example, the previous year’s activity when a user has a new recurring task issued to them. |
single | Boolean | True/false flag to mark whether this is the most recent activity of this verb, for this user, for this piece of content. Used to filter by “only show unique activity”. |
type | String | Type of content this activity relates to. See type description for the content table. |
content_id | Integer | Unique id of the content this activity relates to. |
expired | Boolean | True/false flag to indicate whether this activity has been marked as expired or not. See expired_at description. |
starts
The starts table contains all the content started activities logged by users within the company. This is a subset of the activities table, and is recommended to use for reporting on what content was started.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique id of the activity record. For most use cases this can be ignored |
user_id | Integer | User id of the user who performed the activity. (Foreign id reference to users table) |
happened_at | Timestamp | Timestamp (UTC) for when the activity occurred |
expired_at | Timestamp | Timestamp (UTC) for when the activity was marked as expired. Learn Amp will expire, for example, the previous year’s activity when a user has a new recurring task issued to them. |
single | Boolean | True/false flag to mark whether this is the most recent activity of this verb, for this user, for this piece of content. Used to filter by “only show unique activity”. |
type | String | Type of content this activity relates to. See type description for the content table. |
content_id | Integer | Unique id of the content this activity relates to. |
expired | Boolean | True/false flag to indicate whether this activity has been marked as expired or not. See expired_at description. |
views
The views table contains all the content viewed activities logged by users within the company. This is a subset of the activities table, and is recommended to use for reporting on what content was started.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique id of the activity record. For most use cases this can be ignored |
user_id | Integer | User id of the user who performed the activity. (Foreign id reference to users table) |
happened_at | Timestamp | Timestamp (UTC) for when the activity occurred |
expired_at | Timestamp | Timestamp (UTC) for when the activity was marked as expired. Learn Amp will expire, for example, the previous year’s activity when a user has a new recurring task issued to them. |
single | Boolean | True/false flag to mark whether this is the most recent activity of this verb, for this user, for this piece of content. Used to filter by “only show unique activity”. |
type | String | Type of content this activity relates to. See type description for the content table. |
content_id | Integer | Unique id of the content this activity relates to. |
expired | Boolean | True/false flag to indicate whether this activity has been marked as expired or not. See expired_at description. |
tasks
The tasks table contains data relating to individual tasks that have been assigned to users, requiring them to complete content by a certain deadline.
Field name | Data type | Description |
---|---|---|
user_id | Integer | User id of the user who was assigned the task. (Foreign id reference to users table) |
id | Integer | Unique ID of the task |
deadline | Date | Deadline for when the content must be completed by. |
completed_at | Datetime | Timestamp (in UTC) for when the user completed the content, triggering the task to be marked as completed. If the task has not yet been completed, this will be null. |
mandatory | Booolean | True/false flag denoting whether the task was marked as mandatory. |
expired_at | Timestamp | Timestamp (in UTC) for when the task was marked as expired. When a recurring task is issued, any previous tasks in the series will be marked as expired. |
assigned_at | Timestamp | Timestamp (in UTC) for when the task was issued to the user. |
archived | Boolean | True/false flag denoting that the task has been archived. A task will be archived automatically if the content that it relates to gets archived. This is because the user can no longer access the content once it has been archived. |
type | String | Type of content this task is for. See type description for the content table. |
content_id | Integer | Unique id of the content this task is for. |
expired | Boolean | True/false flag denoting whether this task has been expired. See expired_at. |
completed | Boolean | True/false flag denoting whether this task has been completed. See completed_at. |
overdue | Boolean | True/false flag denoting whether the user has not yet completed the task and is past the deadline. Note that overdue relates to today’s date. If a user completed the task after the deadline (ie. it was overdue at the time of completion) this flag will show false, since the task is no longer overdue today. |
event_sessions
The event_sessions table contains metadata related to each session of an event. Event metadata is stored in the events table. However, details like start time/date, end time/date and location are stored in the event_session table. This is because events may have more than one session, ie. a given event may be run multiple times.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the event session |
event_id | Integer | Event id of the event this session belongs to. (Foreign id reference to events table) |
starts_at | Timestamp | Date/time (stored in UTC) for when the event session begins |
ends_at | Timestamp | Date/time (stored in UTC) for when the event session ends |
location_type | String | Type of location, e.g. Website URL, Map location, MS Teams, Zoom etc. |
attendance_type | String | How the user’s attendance is marked, e.g. Marked automatically, Marked by attendee, Marked by admin, Marked by host. |
host_id | Integer | User ID of the user who is designated as the Host for the event session. See id in users table. |
name | String | Name of the event. Will be identical to name in the events table for the given event_id |
host_name | String | Full name of the host. Will be identical to full_name in the users table for the given host_id. |
content_id | Integer | Foreign ID reference to the content table for this event. |
enrollments
The enrollments table contains details of a user’s enrollment in a specific event session. The enrollments table also stores the attendenance status for whether a given user attended or did not attend a specific event session (if this information is available).
Field name | Data type | Description |
---|---|---|
user_id | Integer | User ID of the user who is enrolled in the event session. |
id | Integer | Unique ID of the enrollment |
event_session_id | Integer | ID of the event session for this enrollement. |
status | String | The status of the enrollment. Will be one of: pending, approved, rejected, unenrolled |
attendance | String | Denotes whether or not the user attended the event session or not, if available. Will be one of: not yet recorded, attended, did not attend. |
host | Boolean | True/false flag denoting if this is the host’s enrollment record. When a user is made the host of an event session, a host enrollment is automatically created for them, since they will likely attend the event session for which they are the host. |
enrolled_at | Date | The date a user was enrolled in an event session. |
skills (a.k.a Topics)
The skills table contains basic meta data for a skill. In Learn Amp a skill may also be referred to as a Topic, since organising content into topics is generally how we encourage you to build up your learning taxonomy.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the skill/topic |
name | String | Name of the skill/topic. If the skill has multiple translations, this field will contain English or the first available translation of the name. |
skill_categories (a.k.a Topic Categories)
The skill_categories table contains basic meta data for a skill or topic category.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique ID of the skill/topic category |
name | String | Name of the skill/topic category. If the category has multiple translations, this field will contain English or the first available translation of the name. |
skill_category_skills
The skill_category_skills table is a link table, to denote which skills/topics belong to which categories.
Field name | Data type | Description |
---|---|---|
skill_category_id | Integer | Skill Category ID, foreign id reference to skill_categories table |
id | Integer | Unique ID of the skill/topic category |
skill_id | Integer | Skill ID, foreign id reference to skills table |
content_skills
The content_skills table is a link table, to denote which skills/topics relate to which items of content.
Field name | Data type | Description |
---|---|---|
content_id | Integer | ID of the content, see type_with_id in the content table |
skill_id | Integer | Skill ID, foreign id reference to skills table |
user_skills
The user_skills table is a link table, to denote which skills/topics a given user is interested in learning about. Additionally, if a user or their manager rate their proficiency in the skill, this rating is also stored in this table.
Field name | Data type | Description |
---|---|---|
user_id | Integer | User ID of the user who has expressed interest in or been rated for the skill. |
id | Integer | Unique id of this user_skill record. |
skill_id | Integer | Skill ID, foreign id reference to skills table |
own_rating | Integer | Rating that the user has given themselves in the skill. Rating range will depend on how your skill ratings have been configured in your company. |
target_rating | Integer | Target rating that the user or their manager has set for this user to achieve in this skill |
manager_rating | Integer | Rating that the user’s manager has given them in the skill. |
preferred_rating | Integer | If present this will be the manager_rating value. If not present, this will be the own_rating value. |
session_tracks
The session_tracks table contains session duration data for users on Learn Amp. Each time the user interacts with a page, their session duration value is extended. This table is useful for analysing engagement and usage of the platform.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique id for the session. Note this is not the browser session ID value. |
user_id | Integer | ID of the user who this session relates to. |
duration | Integer | Length of the session in seconds |
starts_at | Timestamp | Timestamp (in UTC) for when this session started. |
managers
The managers table contains basic meta data for a given manager. This table includes both override managers and team managers. The full details of each user are stored in users table, but this table is useful for reporting by manager.
Field name | Data type | Description |
---|---|---|
id | Integer | User ID of this manager. Will match the id in the users table |
first_name | String | First name of the manager |
last_name | String | Last name of the manager |
full_name | String | Full name of the manager |
coaches
The coaches table contains basic meta data for a given coach. The full details of each user are stored in users table, but this table is useful for reporting by coach.
Field name | Data type | Description |
---|---|---|
id | Integer | User ID of this coachj. Will match the id in the users table |
first_name | String | First name of the coach |
last_name | String | Last name of the coach |
full_name | String | Full name of the coach |
one_to_ones
The one_to_one table contains details of 1-to-1s, such as total time taken to finalize, status, cycle name and the names of the reviewer and reviewee. However, it does not contain the detailed answers, which are stored in the one_to_one_attempt_answers
table.
Field name | Data type | Description |
---|---|---|
id | bigint | Unique identifier for the one-to-one meeting. Primary key. |
cycle_name | varchar(255) | Name of the cycle to which this one-to-one belongs. |
created_at | timestamp | Timestamp when the one-to-one was created. |
updated_at | timestamp | Timestamp when the one-to-one was last updated. |
deadline | date | Deadline for the one-to-one. |
finalized_at | timestamp | Timestamp when the one-to-one was finalized. |
name | varchar(255) | Name of the one-to-one. |
description | varchar(2000) | Description of the one-to-one. |
reviewer_name | varchar(255) | Name of the reviewer. |
reviewee_name | varchar(255) | Name of the reviewee. |
reviewee_total_time | integer | Total time spent by the reviewee. |
reviewer_total_time | integer | Total time spent by the reviewer. |
time_to_finalize | integer | Time taken to finalize the one-to-one. |
status | varchar(255) | Status of the one-to-one. Cannot be null. |
one_to_one_attempts
This is a simple table which acts like a bridge between the 1-1s and its answers, as the same 1-to-1 can be linked to multiple attempts. This will also store the user information through the user id and whether the user is the reviewer or the reviewee.
Field name | Data type | Description |
---|---|---|
user_id | bigint | User ID of the person making the attempt. Foreign key referencing |
id | bigint | Unique identifier for the attempt. Primary key. |
one_to_one_id | bigint | ID of the one-to-one meeting. Foreign key referencing |
user_is_reviewee | boolean | Indicates if the user is the reviewee in this attempt. |
one_to_one_attempt_answers
This table contains all of the survey answers submitted through the 1-to-1s. This table will be empty for companies where the 1-to-1s are set as not visible for admins.
Field name | Data type | Description |
---|---|---|
user_id | bigint | User ID of the person answering. Foreign key referencing |
one_to_one_id | bigint | ID of the one-to-one meeting. Foreign key referencing |
one_to_one_attempt_id | bigint | ID of the attempt. Foreign key referencing |
question | varchar(255) | Question being answered. |
value | integer | Value of the answer. |
answer | varchar(2000) | Text of the answer. |
question_type_label | varchar(255) | Label indicating the type of question. |
objectives
This contains all the objectives set for individuals, teams or at company level.
Please be aware that objectives linked to deactivated users are included in the data.
Field name | Data type | Description |
---|---|---|
id | Integer | Unique identifier for the objective. |
name | Varchar(255) | Name of the objective. This corresponds to the information entered in the field: “What is the overall objective?” |
level | Varchar(64) | Level assigned to the objective. Will be one of: Self-development, Individual, Team, Company. |
assigned_to_id | Integer | Id of the user the objective has been assigned to (“owner” of the objective). |
team_id | Integer | Id of the team the objective has been assigned to. |
assigned_by_id | Integer | Id of the user who has created the objective and assigned it to a user. |
start_date | Date | The start date the objective has been set for. |
end_date | Date | The end date the objective has been set for. |
current_progress | Integer | The progress against the objective given as a percentage. |
completion_status | Varchar(64) | The completion status of the objective. Will be one of: Not started, In Progress, Completed. |
parent_objective_id | Integer | Id of the parent objective (for objectives placed under other objectives via the “Align to other objective” feature). |
archived | Boolean | True/false flag denoting that the objective has been archived. |
private | Boolean | True/false flag denoting that an objective has been made Private (only visible to the owner of the objective and key results. Their manager, account owner and admins can view the objective via the user's profile. No other users can see the objective). |
key_results
This table contains all the key results associated with objectives.
Please be aware that key results linked to deactivated users are included in the data.
Field name | Data type | Description |
---|
Field name | Data type | Description |
---|---|---|
id | Integer | Unique identifier for the key result. |
objective_id | Integer | Unique identifier for the objective the key result belongs to. |
name | Varchar(4000) | Name of the key result. This corresponds to the information entered in the field: “Key result description” |
completion_type | Varchar(64) | Type of completion required for the key result - one of ‘self_certify’, ‘pass_score’ or ‘maintain’ |
progress | integer | Progress against the key result expressed as a percentage |
status | Varchar(64) | Status of the key result - one of ‘not_started’, ‘on_track’, ‘behind’, ‘at_risk’ |
owner_id | Integer | Unique ID of the owning user. |
contribution_to_objective_progress | Boolean | Whether or not the key result contributes to the objective’s progress. |
target_from_value | Numeric(14,2) | The “from” value of the target range, expressed as a decimal |
target_to_value | Numeric(14,2) | The “to” value of the target range, expressed as a decimal |
unit | Varchar(100) | The unit for the target values and result |
result | Numeric(14,2) | The actual result of the key result |