# Pendo schema ERD

Table and field reference for the Fivetran Pendo connector.

## Table & Field Reference

### segment_pipeline

| Column | Type | Keys |
| --- | --- | --- |
| index | Int | PK |
| segment_id | String | PK, FK |
| pipeline_step | String |  |
| step_detail | Json |  |

### guide_step_history

| Column | Type | Keys |
| --- | --- | --- |
| guide_id | String | PK, FK |
| guide_last_updated_at | Instant | PK, FK |
| step_id | String | PK, FK |

### segment_filter

| Column | Type | Keys |
| --- | --- | --- |
| index | Int | PK |
| segment_id | String | PK, FK |
| analytics_delayed_at_timestamp | Long |  |
| app_id | String |  |
| automatic_event_property | Boolean |  |
| count | Long |  |
| element_type | String |  |
| event_property_kind | String |  |
| event_property_schema | String |  |
| fact | String |  |
| feature_id | String |  |
| field | String |  |
| filter_group | String |  |
| filter_key | String |  |
| filter_type | String |  |
| granularity | String |  |
| id | String |  |
| is_valid | Boolean |  |
| kind | String |  |
| name | String |  |
| operator | String |  |
| or_group_id | String |  |
| page_id | String |  |
| schema | String |  |
| tag_id | String |  |
| time | String |  |
| type | String |  |
| use_event_property | Boolean |  |
| value | String |  |

### track_type_rule_history

| Column | Type | Keys |
| --- | --- | --- |
| rule | String | PK |
| track_id | String | PK, FK |
| track_last_updated_at | Instant | PK, FK |

### page_event

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| remote_ip | String | PK |
| server_name | String | PK |
| timestamp | Instant | PK |
| user_agent | String | PK |
| account_id | String | PK, FK |
| page_id | String | PK, FK |
| visitor_id | String | PK, FK |
| app_id | String | FK |
| num_events | Int |  |
| num_minutes | Int |  |

### ds_feature_history

| Column | Type | Keys |
| --- | --- | --- |
| feature_id | String | PK |
| last_updated_at | Long | PK |
| page_id | String | FK |
| created_at | Long |  |
| is_core_event | Boolean |  |
| kind | String |  |
| name | String |  |

### ds_track_type_history

| Column | Type | Keys |
| --- | --- | --- |
| last_updated_at | Long | PK |
| track_type_id | String | PK |
| created_at | Long |  |
| is_core_event | Boolean |  |
| kind | String |  |
| name | String |  |

### poll

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| question | String |  |
| reset_at | Instant |  |
| attribute_** |  |  |

### ds_feature_event

| Column | Type | Keys |
| --- | --- | --- |
| event_id | String | PK |
| period_id | LocalDate | PK |
| feature_id | String | PK, FK |
| guide_id | String | FK |
| guide_step_id | String | FK |
| account_id | String |  |
| browser_timestamp | Instant |  |
| country | String |  |
| destination_step_id | String |  |
| element_path | String |  |
| event_class | String |  |
| event_source | String |  |
| event_type | String |  |
| guide_seen_reason | String |  |
| guide_seen_timeout_ms | Long |  |
| guide_session_id | String |  |
| guide_snooze_duration_ms | Long |  |
| language | String |  |
| latitude | Double |  |
| load_duration_ms | Long |  |
| longitude | Double |  |
| old_visitor_id | String |  |
| poll_id | String |  |
| poll_response | String |  |
| poll_type | String |  |
| region | String |  |
| remote_ip | String |  |
| server | String |  |
| ui_element_actions | String |  |
| ui_element_id | String |  |
| ui_element_text | String |  |
| ui_element_type | String |  |
| url | String |  |
| user_agent | String |  |
| visitor_id | String |  |

### guide_event

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| remote_ip | String | PK |
| server_name | String | PK |
| timestamp | Instant | PK |
| user_agent | String | PK |
| account_id | String | PK, FK |
| guide_id | String | PK, FK |
| visitor_id | String | PK, FK |
| app_id | String | FK |
| country | String |  |
| element_path | String |  |
| event_id | String |  |
| guide_step_id | String |  |
| latitude | Double |  |
| load_time | Int |  |
| longitude | Double |  |
| region | String |  |
| type | String |  |
| ui_element_actions | String |  |
| ui_element_id | String |  |
| ui_element_text | String |  |
| ui_element_type | String |  |
| url | String |  |

### ds_track_type_event_property_history

| Column | Type | Keys |
| --- | --- | --- |
| event_property_name | String | PK |
| last_updated_at | Long | PK, FK |
| track_type_id | String | PK, FK |

### poll_event

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| remote_ip | String | PK |
| server_name | String | PK |
| timestamp | Instant | PK |
| user_agent | String | PK |
| account_id | String | PK, FK |
| guide_id | String | PK, FK |
| poll_id | String | PK, FK |
| visitor_id | String | PK, FK |
| app_id | String | FK |
| country | String |  |
| element_path | String |  |
| event_id | String |  |
| guide_step_id | String |  |
| latitude | Double |  |
| load_time | Int |  |
| longitude | Double |  |
| poll_response | String |  |
| region | String |  |
| type | String |  |
| url | String |  |

### segment

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| created_by_user_id | String | FK |
| last_updated_by_user_id | String | FK |
| verification_last_updated_by_user_id | String | FK |
| created_at | Instant |  |
| created_by_api | Boolean |  |
| definition_advanced | Boolean |  |
| definition_advanced_options_selected_visitor_type | String |  |
| definition_advanced_options_show_guides_to_anon | Boolean |  |
| description | String |  |
| flag_name | String |  |
| is_focus_group | Boolean |  |
| is_training | Boolean |  |
| kind | String |  |
| last_updated_at | Instant |  |
| name | String |  |
| root_version_id | String |  |
| shared | Boolean |  |
| stable_version_id | String |  |
| target_account | String |  |
| verification_last_updated_at | Instant |  |
| verification_state | String |  |

### step_thumbnail_url_history

| Column | Type | Keys |
| --- | --- | --- |
| url | String | PK |
| step_id | String | PK, FK |
| step_last_updated_at | Instant | PK, FK |

### track_type_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| app_id | String | FK |
| created_by_user_id | String | FK |
| group_id | String | FK |
| last_updated_by_user_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| description | String |  |
| dirty | Boolean |  |
| name | String |  |
| root_version_id | String |  |
| stable_version_id | String |  |
| track_type_name | String |  |
| valid_through | Instant |  |

### group

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| app_id | String | FK |
| created_by_user_id | String | FK |
| last_updated_by_user_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| description | String |  |
| last_updated_at | Instant |  |
| length | Int |  |
| name | String |  |

### step_poll_history

| Column | Type | Keys |
| --- | --- | --- |
| poll_id | String | PK, FK |
| step_id | String | PK, FK |
| step_last_updated_at | Instant | PK, FK |

### visitor_account_history

| Column | Type | Keys |
| --- | --- | --- |
| account_id | String | PK, FK |
| visitor_id | String | PK, FK |
| visitor_last_updated_at | Instant | PK, FK |

### feature_event

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| remote_ip | String | PK |
| server_name | String | PK |
| timestamp | Instant | PK |
| user_agent | String | PK |
| account_id | String | PK, FK |
| feature_id | String | PK, FK |
| visitor_id | String | PK, FK |
| app_id | String | FK |
| num_events | Int |  |
| num_minutes | Int |  |

### guide_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| app_id | String | FK |
| created_by_user_id | String | FK |
| last_updated_by_user_id | String | FK |
| audience | Json |  |
| audience_ui_hint | Json |  |
| authored_language | String |  |
| created_at | Instant |  |
| current_first_eligible_to_be_seen_at | Instant |  |
| description | String |  |
| editor_type | String |  |
| email_state | String |  |
| is_module | Boolean |  |
| is_multi_step | Boolean |  |
| is_top_level | Boolean |  |
| is_training | Boolean |  |
| kind | String |  |
| launch_method | String |  |
| name | String |  |
| published_at | Instant |  |
| published_ever | Boolean |  |
| recurrence | Long |  |
| recurrence_eligibility_window | Long |  |
| reset_at | Instant |  |
| root_version_id | String |  |
| stable_version_id | String |  |
| state | String |  |
| attribute_** |  |  |

### feature_element_path_rule_history

| Column | Type | Keys |
| --- | --- | --- |
| rule | String | PK |
| feature_id | String | PK, FK |
| feature_last_updated_at | Instant | PK, FK |

### picklist_poll_response

| Column | Type | Keys |
| --- | --- | --- |
| response_id | String | PK |
| poll_id | String | PK, FK |
| response_text | String |  |

### account_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| first_visit | Instant |  |
| id_hash | Long |  |
| last_visit | Instant |  |

### feature_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| app_id | String | FK |
| created_by_user_id | String | FK |
| group_id | String | FK |
| last_updated_by_user_id | String | FK |
| page_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| description | String |  |
| dirty | Boolean |  |
| is_core_event | Boolean |  |
| name | String |  |
| root_version_id | String |  |
| stable_version_id | String |  |
| valid_through | Instant |  |

### ds_page_history

| Column | Type | Keys |
| --- | --- | --- |
| last_updated_at | Long | PK |
| page_id | String | PK |
| created_at | Long |  |
| is_core_event | Boolean |  |
| kind | String |  |
| name | String |  |
| rules_json | String |  |

### segment_dependent_metadata

| Column | Type | Keys |
| --- | --- | --- |
| index | Int | PK |
| segment_id | String | PK, FK |
| metadata | String |  |

### track_type_event

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| remote_ip | String | PK |
| server_name | String | PK |
| time_stamp | Instant | PK |
| user_agent | String | PK |
| account_id | String | PK, FK |
| track_type_id | String | PK, FK |
| visitor_id | String | PK, FK |
| app_id | String | FK |
| num_events | Int |  |
| num_minutes | Int |  |

### ds_guide_history

| Column | Type | Keys |
| --- | --- | --- |
| guide_id | String | PK |
| last_updated_at | Long | PK |
| audience_ui_hint | String |  |
| created_at | Long |  |
| email_state | String |  |
| is_multi_step | Boolean |  |
| is_training | Boolean |  |
| kind | String |  |
| launch_method | String |  |
| name | String |  |
| published_at | Long |  |
| recurrence | Long |  |
| recurrence_eligibility_window | Long |  |
| reset_at | Long |  |
| state | String |  |

### account_application_history

| Column | Type | Keys |
| --- | --- | --- |
| account_id | String | PK, FK |
| account_last_updated_at | Instant | PK, FK |
| app_id | String | PK, FK |
| first_visit | Instant |  |
| id_hash | Long |  |
| last_updated | Instant |  |
| last_visit | Instant |  |

### page_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| app_id | String | FK |
| created_by_user_id | String | FK |
| group_id | String | FK |
| last_updated_by_user_id | String | FK |
| color | String |  |
| created_at | Instant |  |
| description | String |  |
| dirty | Boolean |  |
| is_core_event | Boolean |  |
| is_suggested | Boolean |  |
| kind | String |  |
| name | String |  |
| root_version_id | String |  |
| stable_version_id | String |  |
| valid_through | Instant |  |

### event

| Column | Type | Keys |
| --- | --- | --- |
| _fivetran_id | String | PK |
| account_id | String | FK |
| app_id | String | FK |
| visitor_id | String | FK |
| num_events | Int |  |
| num_minutes | Int |  |
| page_id | String |  |
| remote_ip | String |  |
| server_name | String |  |
| timestamp | Instant |  |
| user_agent | String |  |

### visitor_application_history

| Column | Type | Keys |
| --- | --- | --- |
| app_id | String | PK, FK |
| visitor_id | String | PK, FK |
| visitor_last_updated_at | Instant | PK, FK |
| first_visit | Instant |  |
| id_hash | Long |  |
| last_browser_name | String |  |
| last_browser_version | String |  |
| last_operating_system | String |  |
| last_server_name | String |  |
| last_updated | Instant |  |
| last_user_agent | String |  |
| last_visit | Instant |  |
| n_id | Long |  |

### ds_guide_step_history

| Column | Type | Keys |
| --- | --- | --- |
| guide_step_id | String | PK |
| guide_id | String | PK, FK |
| last_updated_at | Long | PK, FK |
| app_relay_url | String |  |
| name | String |  |
| page_id | String |  |

### step_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| page_id | String | FK |
| advance_method | String |  |
| building_blocks_url | String |  |
| content_type | String |  |
| content_url | String |  |
| content_url_css | String |  |
| content_url_js | String |  |
| dom_jsonp_url | String |  |
| dom_url | String |  |
| element_path_rule | String |  |
| rank | Long |  |
| regex_url_rule | String |  |
| reset_at | Instant |  |
| template_id | String |  |
| type | String |  |
| attribute_** |  |  |

### user

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| deleted_at | Instant |  |
| first_name | String |  |
| last_name | String |  |
| role | Int |  |
| user_type | String |  |
| username | String |  |

### ds_event

| Column | Type | Keys |
| --- | --- | --- |
| event_id | String | PK |
| guide_id | String | FK |
| guide_step_id | String | FK |
| account_id | String |  |
| browser_timestamp | Instant |  |
| country | String |  |
| destination_step_id | String |  |
| element_path | String |  |
| event_class | String |  |
| event_source | String |  |
| event_type | String |  |
| guide_seen_reason | String |  |
| guide_seen_timeout_ms | Long |  |
| guide_session_id | String |  |
| guide_snooze_duration_ms | Long |  |
| language | String |  |
| latitude | Double |  |
| load_duration_ms | Long |  |
| longitude | Double |  |
| old_visitor_id | String |  |
| period_id | LocalDate |  |
| poll_id | String |  |
| poll_response | String |  |
| poll_type | String |  |
| region | String |  |
| remote_ip | String |  |
| server | String |  |
| ui_element_actions | String |  |
| ui_element_id | String |  |
| ui_element_text | String |  |
| ui_element_type | String |  |
| url | String |  |
| user_agent | String |  |
| visitor_id | String |  |

### application_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| agent_policy_prod | String |  |
| agent_policy_staging | String |  |
| agent_version_prod | String |  |
| agent_version_staging | String |  |
| created_at | Instant |  |
| created_by_user_id | String |  |
| description | String |  |
| disabled_at | Instant |  |
| display_name | String |  |
| event_count | Long |  |
| event_rate | Int |  |
| first_event_time | Instant |  |
| guide_css_url | String |  |
| icon_url | String |  |
| integrated | Boolean |  |
| is_deleted | Boolean |  |
| last_updated_by_user_id | String |  |
| marked_for_deletion_at | Instant |  |
| name | String |  |
| platform | String |  |
| push_application_id | String |  |
| record_until | Instant |  |
| sampling_rate | Instant |  |
| starting_event_time | Instant |  |
| store_url | String |  |
| subscription_id | String |  |
| application_flags_** |  |  |

### ds_track_type_event

| Column | Type | Keys |
| --- | --- | --- |
| event_id | String | PK |
| period_id | LocalDate | PK |
| track_type_id | String | PK, FK |
| guide_id | String | FK |
| guide_step_id | String | FK |
| account_id | String |  |
| browser_timestamp | Instant |  |
| country | String |  |
| destination_step_id | String |  |
| element_path | String |  |
| event_class | String |  |
| event_source | String |  |
| event_type | String |  |
| guide_seen_reason | String |  |
| guide_seen_timeout_ms | Long |  |
| guide_session_id | String |  |
| guide_snooze_duration_ms | Long |  |
| language | String |  |
| latitude | Double |  |
| load_duration_ms | Long |  |
| longitude | Double |  |
| old_visitor_id | String |  |
| poll_id | String |  |
| poll_response | String |  |
| poll_type | String |  |
| region | String |  |
| remote_ip | String |  |
| server | String |  |
| ui_element_actions | String |  |
| ui_element_id | String |  |
| ui_element_text | String |  |
| ui_element_type | String |  |
| url | String |  |
| user_agent | String |  |
| visitor_id | String |  |

### page_rule_history

| Column | Type | Keys |
| --- | --- | --- |
| rule | String | PK |
| page_id | String | PK, FK |
| page_last_updated_at | Instant | PK, FK |
| designer_hint | String |  |
| parsed_rule | String |  |

### ds_page_event

| Column | Type | Keys |
| --- | --- | --- |
| event_id | String | PK |
| period_id | LocalDate | PK |
| page_id | String | PK, FK |
| guide_id | String | FK |
| guide_step_id | String | FK |
| account_id | String |  |
| browser_timestamp | Instant |  |
| country | String |  |
| destination_step_id | String |  |
| element_path | String |  |
| event_class | String |  |
| event_source | String |  |
| event_type | String |  |
| guide_seen_reason | String |  |
| guide_seen_timeout_ms | Long |  |
| guide_session_id | String |  |
| guide_snooze_duration_ms | Long |  |
| language | String |  |
| latitude | Double |  |
| load_duration_ms | Long |  |
| longitude | Double |  |
| old_visitor_id | String |  |
| poll_id | String |  |
| poll_response | String |  |
| poll_type | String |  |
| region | String |  |
| remote_ip | String |  |
| server | String |  |
| ui_element_actions | String |  |
| ui_element_id | String |  |
| ui_element_text | String |  |
| ui_element_type | String |  |
| url | String |  |
| user_agent | String |  |
| visitor_id | String |  |

### visitor_history

| Column | Type | Keys |
| --- | --- | --- |
| id | String | PK |
| last_updated_at | Instant | PK |
| account_id | String |  |
| first_visit | Instant |  |
| id_hash | Long |  |
| last_browser_name | String |  |
| last_browser_version | String |  |
| last_operating_system | String |  |
| last_server_name | String |  |
| last_user_agent | String |  |
| last_visit | Instant |  |
| n_id | String |  |

## Relationships

- segment_pipeline(segment_id) → segment(id)
- guide_step_history(guide_id) → guide_history(id)
- guide_step_history(guide_last_updated_at) → guide_history(id)
- guide_step_history(step_id) → step_history(id)
- segment_filter(segment_id) → segment(id)
- track_type_rule_history(track_id) → track_type_history(id)
- track_type_rule_history(track_last_updated_at) → track_type_history(id)
- page_event(account_id) → account_history(last_updated_at)
- page_event(visitor_id) → visitor_history(last_updated_at)
- page_event(page_id) → page_history(id)
- page_event(app_id) → application_history(id)
- ds_feature_history(page_id) → ds_page_history(page_id)
- ds_feature_event(guide_id) → ds_guide_history(guide_id)
- ds_feature_event(guide_step_id) → ds_guide_step_history(guide_id)
- ds_feature_event(feature_id) → ds_feature_history(feature_id)
- guide_event(visitor_id) → visitor_history(last_updated_at)
- guide_event(account_id) → account_history(last_updated_at)
- guide_event(guide_id) → guide_history(id)
- guide_event(app_id) → application_history(id)
- ds_track_type_event_property_history(track_type_id) → ds_track_type_history(track_type_id)
- ds_track_type_event_property_history(last_updated_at) → ds_track_type_history(track_type_id)
- poll_event(visitor_id) → visitor_history(last_updated_at)
- poll_event(account_id) → account_history(last_updated_at)
- poll_event(guide_id) → guide_history(id)
- poll_event(poll_id) → poll(id)
- poll_event(app_id) → application_history(id)
- segment(created_by_user_id) → user(id)
- segment(last_updated_by_user_id) → user(id)
- segment(verification_last_updated_by_user_id) → user(id)
- step_thumbnail_url_history(step_id) → step_history(id)
- step_thumbnail_url_history(step_last_updated_at) → step_history(id)
- track_type_history(group_id) → group(id)
- track_type_history(created_by_user_id) → user(id)
- track_type_history(last_updated_by_user_id) → user(id)
- track_type_history(app_id) → application_history(id)
- group(created_by_user_id) → user(id)
- group(last_updated_by_user_id) → user(id)
- group(app_id) → application_history(id)
- step_poll_history(step_id) → step_history(id)
- step_poll_history(step_last_updated_at) → step_history(id)
- step_poll_history(poll_id) → poll(id)
- visitor_account_history(visitor_id) → visitor_history(last_updated_at)
- visitor_account_history(visitor_last_updated_at) → visitor_history(last_updated_at)
- visitor_account_history(account_id) → account_history(last_updated_at)
- feature_event(account_id) → account_history(last_updated_at)
- feature_event(visitor_id) → visitor_history(last_updated_at)
- feature_event(feature_id) → feature_history(id)
- feature_event(app_id) → application_history(id)
- guide_history(created_by_user_id) → user(id)
- guide_history(last_updated_by_user_id) → user(id)
- guide_history(app_id) → application_history(id)
- feature_element_path_rule_history(feature_id) → feature_history(id)
- feature_element_path_rule_history(feature_last_updated_at) → feature_history(id)
- picklist_poll_response(poll_id) → poll(id)
- feature_history(group_id) → group(id)
- feature_history(created_by_user_id) → user(id)
- feature_history(last_updated_by_user_id) → user(id)
- feature_history(page_id) → page_history(id)
- feature_history(app_id) → application_history(id)
- segment_dependent_metadata(segment_id) → segment(id)
- track_type_event(account_id) → account_history(last_updated_at)
- track_type_event(visitor_id) → visitor_history(last_updated_at)
- track_type_event(track_type_id) → track_type_history(id)
- track_type_event(app_id) → application_history(id)
- account_application_history(account_id) → account_history(last_updated_at)
- account_application_history(account_last_updated_at) → account_history(last_updated_at)
- account_application_history(app_id) → application_history(id)
- page_history(group_id) → group(id)
- page_history(created_by_user_id) → user(id)
- page_history(last_updated_by_user_id) → user(id)
- page_history(app_id) → application_history(id)
- event(account_id) → account_history(last_updated_at)
- event(visitor_id) → visitor_history(last_updated_at)
- event(app_id) → application_history(id)
- visitor_application_history(visitor_id) → visitor_history(last_updated_at)
- visitor_application_history(visitor_last_updated_at) → visitor_history(last_updated_at)
- visitor_application_history(app_id) → application_history(id)
- ds_guide_step_history(guide_id) → ds_guide_history(guide_id)
- ds_guide_step_history(last_updated_at) → ds_guide_history(guide_id)
- step_history(page_id) → page_history(id)
- ds_event(guide_id) → ds_guide_history(guide_id)
- ds_event(guide_step_id) → ds_guide_step_history(guide_id)
- ds_track_type_event(guide_id) → ds_guide_history(guide_id)
- ds_track_type_event(guide_step_id) → ds_guide_step_history(guide_id)
- ds_track_type_event(track_type_id) → ds_track_type_history(track_type_id)
- page_rule_history(page_id) → page_history(id)
- page_rule_history(page_last_updated_at) → page_history(id)
- ds_page_event(guide_id) → ds_guide_history(guide_id)
- ds_page_event(guide_step_id) → ds_guide_step_history(guide_id)
- ds_page_event(page_id) → ds_page_history(page_id)
