Reading from Intercom entities - Amazon Glue
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Reading from Intercom entities

Prerequisites

  • An Intercom object you would like to read from. Refer to the supported entities table below to check the available entities.

Supported entities

Entity API_Version Can be Filtered Supports Limit Supports Order By Supports Select * Supports Partitioning
Admins v2.5 No No No Yes No
Companies v2.5 No Yes No Yes No
Conversations v2.5 Yes Yes Yes Yes Yes
Data Attributes v2.5 No No No Yes No
Contacts v2.5 Yes Yes Yes Yes Yes
Segments v2.5 No No No Yes No
Tags v2.5 No No No Yes No
Teams v2.5 No No No Yes No

Example

Intercom_read = glueContext.create_dynamic_frame.from_options( connection_type="Intercom", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "company", "API_VERSION": "V2.5" } )

Intercom entity and field details

Entity Field Data Type Supported Operators
Admins type String NA
Admins id String NA
Admins avatar Struct NA
Admins name String NA
Admins email String NA
Admins away_mode_enabled Boolean NA
Admins away_mode_reassign Boolean NA
Admins has_inbox_seat Boolean NA
Admins teams_ids List NA
Admins job_title String NA
Companies type String NA
Companies id String NA
Companies app_id String NA
Companies created_at DateTime NA
Companies remote_created_at DateTime NA
Companies updated_at DateTime NA
Companies last_request_at DateTime NA
Companies plan Struct NA
Companies company_id String NA
Companies name String NA
Companies custom_attributes Struct NA
Companies session_count Integer NA
Companies monthly_spend Integer NA
Companies user_count Integer NA
Companies industry String NA
Companies size Integer NA
Companies website String NA
Companies tags Struct NA
Companies segments Struct NA
Contacts id String EQUAL_TO.NOT_EQUAL_TO
Contacts type String NA
Contacts workspace_id String NA
Contacts external_id String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts role String EQUAL_TO.NOT_EQUAL_TO
Contacts email String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts phone String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts name String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts avatar String NA
Contacts owner_id Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts social_profiles Struct NA
Contacts has_hard_bounced Boolean EQUAL_TO
Contacts marked_email_as_spam Boolean EQUAL_TO
Contacts unsubscribed_from_emails Boolean EQUAL_TO
Contacts created_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts updated_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts signed_up_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts last_seen_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts last_replied_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts last_contacted_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts last_email_opened_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts last_email_clicked_at DateTime EQUAL_TO, GREATER_THAN, LESS_THAN
Contacts language_override String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts browser String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts browser_version String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts browser_language String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts os String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts location Struct NA
Contacts location_country String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts location_region String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts location_city String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts android_app_name String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts android_app_version String NA
Contacts android_device String NA
Contacts android_os_version String NA
Contacts android_sdk_version String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts android_last_seen_at Date NA
Contacts ios_app_name String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts ios_app_version String NA
Contacts ios_device String NA
Contacts ios_os_version String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts ios_sdk_version String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Contacts ios_last_seen_at DateTime NA
Contacts custom_attributes Struct NA
Contacts tags Struct NA
Contacts notes Struct NA
Contacts companies Struct NA
Contacts unsubscribed_from_sms Boolean NA
Contacts sms_consent Boolean NA
Contacts opted_out_subscription_types Struct NA
Contacts referrer String NA
Contacts utm_campaign String NA
Contacts utm_content String NA
Contacts utm_medium String NA
Contacts utm_source String NA
Contacts utm_term String NA
Conversations type String NA
Conversations id Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations created_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations updated_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations source Struct NA
Conversations source_id String EQUAL_TO, NOT_EQUAL_TO
Conversations source_type String EQUAL_TO, NOT_EQUAL_TO,
Conversations source_delivered_as String EQUAL_TO, NOT_EQUAL_TO,
Conversations source_subject String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations source_body String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations source_author_id String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations source_author_type String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations source_author_name String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations source_author_email String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations source_url String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations contacts Struct NA
Conversations teammates Struct NA
Conversations title String NA
Conversations admin_assignee_id Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations team_assignee_id Integer CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations custom_attributes Struct NA
Conversations open Boolean EQUAL_TO
Conversations state String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations read Boolean EQUAL_TO
Conversations waiting_since DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations snoozed_until DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations tags Struct NA
Conversations first_contact_reply Struct NA
Conversations priority String EQUAL_TO, NOT_EQUAL_TO
Conversations topics Struct NA
Conversations sla_applied Struct NA
Conversations conversation_rating Struct NA
Conversations conversation_rating_requested_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations conversation_rating_replied_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations conversation_rating_score Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations conversation_rating_remark String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations conversation_rating_contact_id String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations conversation_rating_admin_id String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations statistics Struct NA
Conversations statistics_time_to_assignment Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_time_to_admin_reply Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_time_to_first_close Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_time_to_last_close Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_median_time_to_reply Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_first_contact_reply_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_first_assignment_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_first_admin_reply_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_first_close_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_last_assignment_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_last_assignment_admin_reply_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_last_contact_reply_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_last_admin_reply_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_last_close_at DateTime EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_last_closed_by_id String CONTAINS, EQUAL_TO, NOT_EQUAL_TO
Conversations statistics_count_reopens Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_count_assignments Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations statistics_count_conversation_parts Integer EQUAL_TO, NOT_EQUAL_TO, GREATER_THAN, LESS_THAN
Conversations conversation_parts List NA
Data Attributes id Integer NA
Data Attributes type String NA
Data Attributes model String NA
Data Attributes name String NA
Data Attributes full_name String NA
Data Attributes label String NA
Data Attributes description String NA
Data Attributes data_type String NA
Data Attributes options List NA
Data Attributes api_writable Boolean NA
Data Attributes ui_writable Boolean NA
Data Attributes custom Boolean NA
Data Attributes archived Boolean NA
Data Attributes created_at Boolean NA
Data Attributesupdated_atDateTimeNA
Data Attributesadmin_idStringNA
SegmentstypeStringNA
SegmentsidStringNA
SegmentsnameStringNA
Segmentscreated_atDateTimeNA
Segmentsupdated_atDateTimeNA
Segmentsperson_typeStringNA
SegmentscountIntegerNA
TagstypeStringNA
TagsidStringNA
TagsnameStringNA
TeamstypeStringNA
TeamsidStringNA
TeamsnameStringNA
Teamsadmin_idsListNA

Partitioning queries

Additional spark options PARTITION_FIELD, LOWER_BOUND, UPPER_BOUND, NUM_PARTITIONS can be provided if you want to utilize concurrency in Spark. With these parameters, the original query would be split into NUM_PARTITIONS number of sub-queries that can be executed by spark tasks concurrently.

  • PARTITION_FIELD: the name of the field to be used to partition query.

  • LOWER_BOUND: an inclusive lower bound value of the chosen partition field.

    For date, we accept the Spark date format used in Spark SQL queries. Example of valid values: "2024-02-06".

  • UPPER_BOUND: an exclusive upper bound value of the chosen partition field.

  • NUM_PARTITIONS: number of partitions.

Entity wise partitioning field support details are captured in below table.

Entity Name Partitioning Field Data Type
Contacts created_at, updated_at,last_seen_at DateTime
Conversations id Integer
Conversations created_at, updated_at DateTime

Example

Intercom_read = glueContext.create_dynamic_frame.from_options( connection_type="Intercom", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "conversation", "API_VERSION": "V2.5", "PARTITION_FIELD": "created_at" "LOWER_BOUND": "2022-07-13T07:55:27.065Z" "UPPER_BOUND": "2022-08-12T07:55:27.065Z" "NUM_PARTITIONS": "2" } )