We make regular updates to the data available in Business Intelligence Connector. You can stay up to date by following our release notes. You can review previous schema updates.

Bookmark or share this article with your business intelligence team. It contains the current schema.

Current schema

The Business Intelligence Connector schema was last updated on July 31, 2023. Download the latest schema (.sql).

Check out our current schema in plaintext below:

CREATE TABLE agency_question_custom_fields (
    application_id bigint,
    custom_field character varying,
    boolean_value boolean,
    float_value double precision,
    date_value timestamp without time zone,
    display_value character varying,
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying,
    text_value character varying,
    organization_id bigint
);
CREATE TABLE application_custom_fields (
    application_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying,
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE application_question_answers (
    job_post_id bigint,
    application_id bigint,
    question character varying(65535),
    answer character varying(65535),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE application_stages (
    application_id bigint,
    stage_id bigint,
    entered_on timestamp without time zone,
    exited_on timestamp without time zone,
    stage_name character varying,
    organization_id bigint
);
CREATE TABLE applications (
    id bigint NOT NULL,
    candidate_id bigint,
    applied_at timestamp without time zone,
    status character varying,
    prospect boolean,
    stage_id bigint,
    source_id bigint,
    referrer_id bigint,
    rejected_at timestamp without time zone,
    rejected_by_id bigint,
    rejection_reason_id bigint,
    pipeline_percent double precision,
    migrated boolean,
    rejected_by character varying,
    stage_name character varying,
    job_post_id bigint,
    prospect_pool character varying(65535),
    prospect_pool_stage character varying(65535),
    prospect_owner_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    event_id bigint,
    converted_prospect_application_id bigint,
    sent_demographic_questions boolean,
    organization_id bigint
);
CREATE TABLE applications_jobs (
    application_id bigint,
    job_id bigint,
    organization_id bigint
);
CREATE TABLE approvals (
    offer_id bigint,
    application_id bigint,
    job_id bigint,
    job_name character varying(1024),
    candidate_id bigint,
    candidate_name character varying(1024),
    approver_id bigint,
    approver_name character varying(1024),
    approval_type character varying(32),
    status character varying(32),
    version integer,
    version_final integer,
    group_id bigint,
    group_order integer,
    group_quorum integer,
    assigned_at timestamp without time zone,
    completed_at timestamp without time zone,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE attributes (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    category character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE audit_log (
    organization_id bigint,
    event_time timestamp without time zone,
    request_id character varying(255),
    request_type character varying(255),
    performer_id character varying(255),
    performer_type character varying(255),
    performer_meta character varying,
    performer_ip_address character varying(255),
    event_type character varying(255),
    event_target_id bigint,
    event_target_type character varying(255),
    event_meta character varying
);
CREATE TABLE candidate_custom_fields (
    candidate_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying(1024),
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE candidate_email_addresses (
    candidate_id bigint,
    value character varying(255),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE candidate_mailing_addresses (
    candidate_id bigint,
    value character varying(65535),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE candidate_phone_numbers (
    candidate_id bigint,
    value character varying(255),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE candidate_survey_questions (
    id bigint NOT NULL,
    question character varying,
    organization_id bigint
);
CREATE TABLE candidate_surveys (
    id bigint,
    organization_id bigint,
    submitted_at timestamp without time zone,
    department_id bigint,
    department_name character varying,
    office_id bigint,
    office_name character varying,
    question_1 character varying,
    question_2 character varying,
    question_3 character varying,
    question_4 character varying,
    question_5 character varying,
    question_6 character varying,
    question_7 character varying,
    question_8 character varying,
    question_9 character varying(16384)
);
CREATE TABLE candidates (
    id bigint NOT NULL,
    first_name character varying,
    last_name character varying,
    recruiter_id bigint,
    coordinator_id bigint,
    migrated boolean,
    recruiter character varying,
    coordinator character varying,
    company character varying(1024),
    title character varying(1024),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    private boolean,
    organization_id bigint
);
CREATE TABLE candidates_tags (
    id bigint NOT NULL,
    tag_id bigint,
    candidate_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE demographic_answer_option_translations (
    id bigint NOT NULL,
    demographic_answer_option_id bigint NOT NULL,
    language character varying NOT NULL,
    name character varying NOT NULL,
    organization_id bigint
);
CREATE TABLE demographic_answer_options (
    id bigint NOT NULL,
    demographic_question_id bigint NOT NULL,
    active boolean NOT NULL,
    free_form boolean NOT NULL,
    name character varying,
    organization_id bigint
);
CREATE TABLE demographic_answers (
    id bigint NOT NULL,
    application_id bigint NOT NULL,
    demographic_question_id bigint NOT NULL,
    demographic_answer_option_id bigint,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE demographic_free_form_answers (
    id bigint NOT NULL,
    demographic_answer_id bigint NOT NULL,
    text character varying NOT NULL,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE demographic_question_sets (
    id bigint NOT NULL,
    organization_id bigint NOT NULL,
    title character varying NOT NULL,
    description character varying,
    active boolean NOT NULL
);
CREATE TABLE demographic_question_translations (
    id bigint NOT NULL,
    demographic_question_id bigint NOT NULL,
    language character varying NOT NULL,
    name character varying NOT NULL,
    organization_id bigint
);
CREATE TABLE demographic_questions (
    id bigint NOT NULL,
    organization_id bigint NOT NULL,
    active boolean NOT NULL,
    demographic_question_set_id bigint,
    name character varying,
    required boolean,
    answer_type character varying
);
CREATE TABLE departments (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    parent_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE educations (
    candidate_id bigint,
    school_name character varying,
    degree character varying,
    discipline character varying,
    start date,
    "end" date,
    latest boolean,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE eeoc_responses (
    application_id bigint,
    status character varying,
    race character varying,
    gender character varying,
    disability_status character varying,
    veteran_status character varying,
    submitted_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE employments (
    candidate_id bigint,
    company_name character varying,
    title character varying,
    start date,
    "end" date,
    latest boolean,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE events (
    id bigint NOT NULL,
    name character varying(65535),
    organization_id bigint
);
CREATE TABLE gdpr_consent_decisions (
    candidate_id bigint NOT NULL,
    decision character varying NOT NULL,
    decided_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE gdpr_consent_requests (
    candidate_id bigint NOT NULL,
    status character varying NOT NULL,
    token character varying NOT NULL,
    requested_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE gdpr_office_rules (
    office_id bigint NOT NULL,
    retention_period bigint NOT NULL,
    organization_id bigint
);
CREATE TABLE gho_assigned_tasks (
    id bigint NOT NULL,
    task_name character varying NOT NULL,
    task_description character varying,
    task_category character varying(255) NOT NULL,
    assigned_for_id integer NOT NULL,
    assigned_by_id integer,
    completed_at timestamp without time zone,
    due_date_relative_days integer,
    assign_days_before integer NOT NULL,
    calculated_due_date date,
    calculated_assign_date date,
    attachment_required boolean NOT NULL,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    assigned_employee_id bigint,
    third_party_system_email character varying,
    assigned_custom_field_id integer,
    assigned_coworker_employee_id integer,
    completed_by_employee_id integer,
    completed_by_third_party_system_email character varying,
    assignee_updated_at timestamp without time zone,
    assigned_at timestamp without time zone,
    company_id bigint
);
CREATE TABLE gho_custom_field_values (
    id bigint NOT NULL,
    employee_id bigint NOT NULL,
    custom_field_id bigint NOT NULL,
    custom_field_permanent_field_id character varying(255),
    custom_field_field_type character varying(255),
    value character varying,
    value_employee_id integer,
    value_date date,
    value_updated_at timestamp without time zone,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    company_id bigint
);
CREATE TABLE gho_custom_fields (
    id bigint NOT NULL,
    permanent_field_id character varying(255),
    name character varying(255),
    field_type character varying(255),
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    company_id bigint
);
CREATE TABLE gho_employee_roles (
    role_id bigint,
    employee_id bigint NOT NULL,
    company_id bigint
);
CREATE TABLE gho_employees (
    id bigint NOT NULL,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    personal_email character varying,
    work_email character varying,
    start_date date,
    termination_date date,
    employment_status character varying,
    manager_id bigint,
    hr_manager_id bigint,
    title character varying,
    global_role character varying,
    n_direct_reports bigint,
    department character varying,
    location character varying,
    legal_name_first_name character varying,
    legal_name_middle_name character varying,
    legal_name_last_name character varying,
    legal_name_suffix character varying,
    preferred_first_name character varying,
    preferred_last_name character varying,
    company_id bigint
);
CREATE TABLE gho_roles (
    id bigint NOT NULL,
    name character varying(255) NOT NULL,
    company_id bigint
);
CREATE TABLE gho_user_activities (
    employee_id bigint NOT NULL,
    hourly_last_sign_in_at timestamp without time zone,
    company_id bigint
);
CREATE TABLE greenhouse_usages (
    user_id bigint,
    date date,
    organization_id bigint
);
CREATE TABLE hiring_team (
    job_id bigint,
    user_id bigint,
    role character varying,
    responsible boolean,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE interviewer_tags (
    user_id bigint,
    tag character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE interviewers (
    interview_id bigint,
    user_id bigint,
    scorecard_id bigint,
  user character varying,
    organization_id bigint
);
CREATE TABLE interviews (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE job_custom_fields (
    job_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying(1024),
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE job_post_questions (
    job_post_id bigint,
    question character varying(65535),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE job_posts (
    id bigint NOT NULL,
    job_id bigint,
    title character varying,
    live boolean,
    job_board_name character varying,
    language character varying,
    location character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    eeoc_enabled boolean,
    indeed_feed boolean,
    linked_in_feed boolean,
    glassdoor_feed boolean,
    first_published timestamp without time zone,
    organization_id bigint
);
CREATE TABLE job_snapshots (
    job_id bigint,
    date date,
    hired_count integer,
    prospect_count integer,
    new_today integer,
    rejected_today integer,
    advanced_today integer,
    interviews_today integer,
    organization_id bigint
);
CREATE TABLE jobs (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    requisition_id character varying,
    status character varying,
    opened_at timestamp without time zone,
    closed_at timestamp without time zone,
    department_id bigint,
    level character varying,
    confidential boolean,
    created_at timestamp without time zone,
    notes character varying(65535),
    updated_at timestamp without time zone
);
CREATE TABLE jobs_attributes (
    id bigint NOT NULL,
    job_id bigint,
    attribute_id bigint,
    active boolean,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    name character varying,
    category character varying,
    organization_id bigint
);
CREATE TABLE jobs_departments (
    id bigint NOT NULL,
    job_id bigint,
    department_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE jobs_interviews (
    id bigint NOT NULL,
    job_id bigint,
    stage_id bigint,
    interview_id bigint,
    "order" integer,
    estimated_duration integer,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    interview_name character varying,
    stage_name character varying,
    organization_id bigint
);
CREATE TABLE jobs_offices (
    id bigint NOT NULL,
    job_id bigint,
    office_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE jobs_stages (
    job_id bigint,
    stage_id bigint,
    "order" integer,
    name character varying,
    stage_alert_setting integer,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    milestones character varying(1024),
    organization_id bigint
);
CREATE TABLE offer_custom_fields (
    offer_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying(1024),
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE offers (
    id bigint NOT NULL,
    application_id bigint,
    status character varying,
    created_at timestamp without time zone,
    sent_at date,
    resolved_at timestamp without time zone,
    start_date timestamp without time zone,
    created_by character varying,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE offices (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    parent_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE opening_custom_fields (
    opening_id bigint NOT NULL,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying,
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying,
    text_value character varying,
    organization_id bigint
);
CREATE TABLE openings (
    id bigint NOT NULL,
    job_id bigint,
    opening_id character varying,
    opened_at timestamp without time zone,
    closed_at timestamp without time zone,
    hired_application_id bigint,
    close_reason character varying(255),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    target_start_date date,
    organization_id bigint
);
CREATE TABLE organizations (
    id bigint NOT NULL,
    name character varying(1024)
);
CREATE TABLE prospect_pool_stages (
    id bigint NOT NULL,
    prospect_pool_id bigint NOT NULL,
    name character varying NOT NULL,
    priority integer NOT NULL,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE prospect_pool_transitions (
    application_id bigint NOT NULL,
    user_id bigint NOT NULL,
    old_prospect_pool_id bigint,
    old_prospect_stage_id bigint,
    new_prospect_pool_id bigint,
    new_prospect_stage_id bigint,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE prospect_pools (
    id bigint NOT NULL,
    name character varying NOT NULL,
    active boolean NOT NULL,
    description character varying,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    organization_id bigint
);
CREATE TABLE referral_question_custom_fields (
    candidate_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying(1024),
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE referrers (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE rejection_question_custom_fields (
    application_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying,
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE rejection_reasons (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    type character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE scheduled_interviews (
    id bigint NOT NULL,
    application_id bigint,
    interview_id bigint,
    status character varying,
    scheduled_by_id bigint,
    scheduled_at timestamp without time zone,
    starts_at timestamp without time zone,
    ends_at timestamp without time zone,
    all_day_start_date date,
    all_day_end_date date,
    stage_name character varying(1024),
    interview_name character varying(1024),
    organization_id bigint
);
CREATE TABLE scorecard_question_answers (
    scorecard_id bigint,
    application_id bigint,
    question character varying(65535),
    answer character varying(65535),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    scorecard_question_id bigint,
    organization_id bigint
);
CREATE TABLE scorecard_questions (
    id bigint NOT NULL,
    interview_kit_id bigint,
    question character varying NOT NULL,
    answer_type character varying NOT NULL,
    active boolean NOT NULL,
    priority integer,
    required boolean,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL,
    focus_attributes character varying,
    organization_id bigint
);
CREATE TABLE scorecards (
    id bigint NOT NULL,
    application_id bigint,
    stage_id bigint,
    interview_id bigint,
    interviewer_id bigint,
    submitter_id bigint,
    overall_recommendation character varying,
    submitted_at timestamp without time zone,
    scheduled_interview_ended_at timestamp without time zone,
    total_focus_attributes integer,
    completed_focus_attributes integer,
    interviewer character varying,
    submitter character varying,
    stage_name character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    interview_name character varying(4096),
    organization_id bigint
);
CREATE TABLE scorecards_attributes (
    scorecard_id bigint,
    attribute_id bigint,
    rating character varying,
    notes character varying(65535),
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    attribute_name character varying,
    attribute_category character varying,
    organization_id bigint
);
CREATE TABLE sources (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    type character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE stage_snapshots (
    stage_id bigint,
    date date,
    active_count integer,
    job_id bigint,
    stage_name character varying,
    organization_id bigint
);
CREATE TABLE stages (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    "order" integer,
    active boolean,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE tags (
    id bigint NOT NULL,
    organization_id bigint,
    name character varying(1024),
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);
CREATE TABLE user_actions (
    id bigint NOT NULL,
    job_id bigint,
    user_id bigint,
    type character varying,
    organization_id bigint
);
CREATE TABLE user_attribute_custom_fields (
    user_id bigint,
    custom_field character varying,
    float_value double precision,
    date_value date,
    display_value character varying(1024),
    unit character varying,
    min_value numeric,
    max_value numeric,
    user_id_value bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    key character varying(1024),
    text_value character varying(16384),
    organization_id bigint
);
CREATE TABLE user_candidate_links (
    user_id bigint,
    candidate_id bigint,
    created_at timestamp without time zone,
    updated_at timestamp without time zone,
    organization_id bigint
);
CREATE TABLE users (
    id bigint NOT NULL,
    organization_id bigint,
    first_name character varying,
    last_name character varying,
    email character varying,
    status character varying,
    full_name character varying,
    employee_id character varying,
    created_at timestamp without time zone,
    updated_at timestamp without time zone
);