{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"redocly_category":"Integrations","type":"markdown"},"seo":{"title":"Zendesk Import Integration","description":"Treasure Data Product Documentation · Collect and Unify · Segment and Activate · Experiment and Analyze · Decisioning Automate with AI Scale and Trust.","siteUrl":"https://docs.treasuredata.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"zendesk-import-integration","__idx":0},"children":["Zendesk Import Integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Treasure Data allows you to directly importing data from your organization’s Zendesk account."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Basic knowledge of Treasure Data"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Zendesk account"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Zendesk Zopim account to retrieve Chat data"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"static-ip-address-of-treasure-data-integration","__idx":2},"children":["Static IP Address of Treasure Data Integration"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If your security policy requires IP whitelisting, you must add Treasure Data's IP addresses to your allowlist to ensure a successful connection."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Please find the complete list of static IP addresses, organized by region, at the following ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/apis/endpoints/ip-addresses-integrations-result-workers"},"children":["document"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"import-from-zendesk-via-treasure-console","__idx":3},"children":["Import from Zendesk via Treasure Console"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-a-new-authentication","__idx":4},"children":["Create a New Authentication"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open the Treasure Console."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Navigate to Integrations Hub > Catalog."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Search and select Zendesk."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/image-20190922-195712.51c26fb4ae060d3efff9c32b00cf5c83086b034129b47665e5c072bb866ae309.cbc89e54.png","alt":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create."]}," You are creating an authenticated connection. The following dialog opens."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/image-20190922-195749.670b71a2bdce1b3fa92100068236fc73ec79be19678999bf82825c9c9c379530.cbc89e54.png","alt":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There are three options for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Auth method"]},": basic, token, oauth."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To import chat data, enter in this url for Login Url for Zendesk: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://www.zopim.com"},"children":["https://www.zopim.com"]},". Token authentication with Chat is not supported."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fill in all the required fields, then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Continue"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Name your new Zendesk connection. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Done"]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/image-20200324-214851.a12b6b30b82a7ba8cbba0ca8d519d664d0225c26677a9c6734da9b9595885c79.cbc89e54.png","alt":""},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"transfer-your-data-to-treasure-data","__idx":5},"children":["Transfer Your Data to Treasure Data"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After creating the authenticated connection, you are automatically taken to the Authentications tab."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Search for the connection you created and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["New Source"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Edit the appropriate fields."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/screenshot-2023-08-15-at-10.52.05.cf0edd7a535afbbf112e43fd8f3edae3f81f65aba3708c38d25226065e148fc7.cbc89e54.png","alt":""},"children":[]}]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Source"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Specify the kind of object that you want to transfer from Zendesk: tickets, ticket_fields, ticket_forms, ticket_events, ticket_metrics, users, organizations, scores, recipients, object_records, relationship_records, user_events, and chat   - object_records and relationship_records provide information about Zendesk custom objects - scores and recipients provide information about Zendesk NPS - Chat Limitations:    - Only an administrator or owner has the permissions to retrieve chat data.   - No support for \"Include Subresources\" and \"De-duplicate records\" options"},"children":["Specify the kind of object that you want to transfer from Zendesk: tickets, ticket_fields, ticket_forms, ticket_events, ticket_metrics, users, organizations, scores, recipients, object_records, relationship_records, user_events, and chat   - object_records and relationship_records provide information about Zendesk custom objects - scores and recipients provide information about Zendesk NPS - Chat Limitations:    - Only an administrator or owner has the permissions to retrieve chat data.   - No support for \"Include Subresources\" and \"De-duplicate records\" options"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Incremental"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Allows the connector to run in incremental mode, which enables ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start time"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["End time"]}," can be used."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start time"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables you to select only objects, which have been updated since the 'start_time'   - If ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start time"]}," is not specified, all the objects are retrieved from the beginning."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["End time"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables you to select only objects, which have been updated up to the 'end_time'.   - If ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["End time"]}," is not specified, all the objects up to now are retrieved. - ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start time"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["End time"]}," can combined to select only objects that have been updated within a specific period, from'start_time' until 'end_time'"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enable cursor-based API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables you to use the cursor API flow to fetch more than 100,000 records.   - Applies for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["tickets"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["users source"]}," only - Support ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incremental"]}," with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Start time"]}," only"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"source-preview","__idx":6},"children":["Source Preview"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Preview your data. To make changes, click Advanced Settings."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/image-20190922-200213.1679d6dbb1d72eef40fd38ea8f3c9ba7ae1f1578c5b30424ed88072b799bb3d0.cbc89e54.png","alt":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select Next."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"advanced-settings","__idx":7},"children":["Advanced Settings"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After selecting Advanced Settings, the following dialog opens."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/image-20190922-200311.3f20706cccaa48c405e79f84c7ca685dfe3737496efa746cc9049d5c89c0ecd2.cbc89e54.png","alt":""},"children":[]},{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/image-20190922-200338.25048547ccc49a8e0c73026d82440a3bbe3a6f5c06a6b040b435983dea1c6e60.cbc89e54.png","alt":""},"children":[]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Edit the parameters. Select Save and Next."]}]}]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parameter"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":""},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include Subresources"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables you to fetch sub-resource along with the main object. Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add"]}," to add more sub resource by name and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add"]}," a correspondence column as well. The sub resource is considered as an JSON object, presented in a column, with the same name .   - In Zendesk, this endpoint is supported: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://developer.zendesk.com/rest_api/docs/support/users#list-users"},"children":["GET /api/v2/users/{user_id}/organizations.json"]}," That means we can consider organizations as a sub-resource of users. We can get all the information of organizations that a users belong to. - To configure it, you must add 'organizations' as a sub-resource and also add one more column with the same name. The data type should be JSON. - Include Subresources is not supported for Chat."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["De-duplicated Records"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Enables you to avoid duplicated records when running in incremental mode because the Zendesk API doesn't prevent duplication.   - Deduplication is not supported for Chat."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Retry Limit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Indicates how many times the job should retry when error occurs."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Initial retry interval seconds"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Indicates the first waiting time before a retry. Measured in seconds."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"data-placement","__idx":8},"children":["Data Placement"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For data placement, select the target database and table where you want your data placed and indicate how often the import should run."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Next."]}," Under Storage, you will create a new or select an existing database and create a new or select an existing table for where you want to place the imported data."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Database"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select an existing"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create New Database"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optionally, type a database name."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Table"]},"> ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select an existing"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create New Table"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optionally, type a table name."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Choose the method for importing the data."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Append"]}," (default)-Data import results are appended to the table."," ","If the table does not exist, it will be created."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Always Replace"]},"-Replaces the entire content of an existing table with the result output of the query. If the table does not exist, a new table is created."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Replace on New Data"]},"-Only replace the entire content of an existing table with the result output when there is new data."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Timestamp-based Partition Key"]}," column."," ","If you want to set a different partition key seed than the default key, you can specify the long or timestamp column as the partitioning time. As a default time column, it uses upload_time with the add_time filter."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Timezone"]}," for your data storage."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schedule"]},", you can choose when and how often you want to run this query."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"run-once","__idx":9},"children":["Run once"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Off"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scheduling Timezone"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create & Run Now"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"repeat-regularly","__idx":10},"children":["Repeat Regularly"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schedule"]},". The UI provides these four options: ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["@hourly"]},", ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["@daily"]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["@monthly"]}," or custom ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["cron"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can also select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delay Transfer"]}," and add a delay of execution time."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Scheduling Timezone"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create & Run Now"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After your transfer has run, you can see the results of your transfer in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data Workbench"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Databases."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"import-from-zendeskvia-workflow","__idx":11},"children":["Import from Zendesk via Workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For sample workflows on importing data from Zendesk, view ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://github.com/treasure-data/treasure-boxes/tree/master/td_load/zendesk"},"children":["Treasure Boxes"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"import-from-zendesk-via-cli","__idx":12},"children":["Import from Zendesk via CLI"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"install-td-command","__idx":13},"children":["Install ‘td’ Command"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Install the newest ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/tools/cli-and-sdks/quickstart"},"children":["TD Toolbelt"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"create-seed-config-file-seedyml","__idx":14},"children":["Create Seed Config File (seed.yml)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Prepare ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["seed.yml"]}," as shown in the following example, with your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["login_url"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["username"]}," (email), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["token"]}," and, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target"]},". In this example, you use “append” mode:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"in:\n  type: zendesk\n  login_url: https://YOUR_DOMAIN_NAME.zendesk.com\n  auth_method: token\n  username: YOUR_EMAIL_ADDRESS\n  token: YOUR_API_TOKEN\n  target: tickets\n  start_time: \"2007-01-01 00:00:00+0000\"\n  enable_cursor_based_api: true\nout:\n  mode: append\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["token"]}," can be created by going to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Admin Home"]}," –> ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CHANNELS"]}," –> ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API"]}," –> ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"add new token\""]}," (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://YOUR_DOMAIN_NAME.zendesk.com/agent/admin/api"]},")."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["target"]}," specifies the type of object that you want to dump from Zendesk. tickets, ticket_events, ticket_forms, ticket_fields, users, organizations, scores, recipients, object_records, relationship_records and user_events are supported."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more details on available ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["out"]}," modes, see Appendix."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"guess-fields-generate-loadyml","__idx":15},"children":["Guess Fields (Generate load.yml)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["connector:guess"]},". This command automatically reads the target data, and intelligently guesses the data format."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"$ td connector:guess seed.yml -o load.yml\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you open the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["load.yml"]}," file, you see guessed file format definitions including, in some cases, file formats, encodings, column names, and types."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"in: \n  type: zendesk \n  login_url: https://YOUR_DOMAIN_NAME.zendesk.com \n  auth_method: token \n  username: YOUR_EMAIL_ADDRESS \n  token: YOUR_API_TOKEN \n  target: tickets \n  start_time: '2019-05-15T00:00:00+00:00' \n  columns: \n   - {name: url, type: string} \n   - {name: id, type: long} \n   - {name: external_id, type: string} \n   - {name: via, type: json} \n   - {name: created_at, type: timestamp, format: \"%Y-%m-%dT%H:%M:%S%z\"} \n   - {name: updated_at, type: timestamp, format: \"%Y-%m-%dT%H:%M:%S%z\"} \n   - {name: type, type: string} \n   - {name: subject, type: string} \n   - {name: raw_subject, type: string} \n   - {name: description, type: string} \n   - {name: priority, type: string} \n   - {name: status, type: string} \n   - {name: recipient, type: string} \n   - {name: requester_id, type: string} \n   - {name: submitter_id, type: string} \n   - {name: assignee_id, type: string} \n   - {name: organization_id, type: string} \n   - {name: group_id, type: string} \n   - {name: collaborator_ids, type: json} \n   - {name: follower_ids, type: json} \n   - {name: email_cc_ids, type: json} \n   - {name: forum_topic_id, type: string} \n   - {name: problem_id, type: string} \n   - {name: has_incidents, type: boolean} \n   - {name: is_public, type: boolean} \n   - {name: due_at, type: string} \n   - {name: tags, type: json} \n   - {name: custom_fields, type: json} \n   - {name: satisfaction_rating, type: json} \n   - {name: sharing_agreement_ids, type: json} \n   - {name: fields, type: json} \n   - {name: followup_ids, type: json} \n   - {name: ticket_form_id, type: string} \n   - {name: brand_id, type: string} \n   - {name: satisfaction_probability, type: string} \n   - {name: allow_channelback, type: boolean} \n   - {name: allow_attachments, type: boolean} \n   - {name: generated_timestamp, type: long}\nout: \n   {mode: append}\nexec: {}\nfilters: \n   type: add_time\n   from_value: \n     {mode: upload_time}  \n     to_column: {name: time}  \n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Then you can preview how the system parses the file by using ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["preview"]}," command."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"$ td connector:preview load.yml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the system detects your column name or type unexpectedly, modify the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["load.yml"]}," directly and preview again."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Data Connector supports parsing of \"boolean\", \"long\", \"double\", \"string\", and \"timestamp\" types."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"execute-load-job","__idx":16},"children":["Execute Load Job"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Submit the load job. It may take a couple of hours depending on the data size. Users need to specify the database and table where their data is stored."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"$ td connector:issue load.yml --database td_sample_db --table td_sample_table\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The preceding command assumes that you have already created ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["database(td_sample_db)"]}," and ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["table(td_sample_table)"]},". If the database or the table do not exist in TD this command will not succeed, so create the database and table ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.treasuredata.com/smart/project-product-documentation/data-management"},"children":["manually"]}," or use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--auto-create-table"]}," option with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["td connector:issue"]}," command to automatically create the database and table:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"$ td connector:issue load.yml --database td_sample_db --table td_sample_table --time-column created_at --auto-create-table\n"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can assign Time Format column to the \"Partitioning Key\" by \"--time-column\" option."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"incremental-load","__idx":17},"children":["Incremental Load"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can load records incrementally from Zendesk by using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["incremental"]}," flag. If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["False"]},", the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start_time"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["end_time"]}," in next.yml is not updated. The connector will always fetch all the data from Zendesk with static conditions. If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["True"]},", the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start_time"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["end_time"]}," is updated in next.yml. The default is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["True"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"in:\n  type: zendesk\n  login_url: https://YOUR_DOMAIN_NAME.zendesk.com\n  auth_method: token\n  username: YOUR_EMAIL_ADDRESS\n  token: YOUR_API_TOKEN\n  target: tickets\n  start_time: \"2007-01-01 00:00:00+0000\"  end_time: \"2008-01-01 00:00:00+0000\" \n  incremental: true\nout:\n  mode: append\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"paginate-through-lists-using-cursor-pagination","__idx":18},"children":["Paginate through lists using cursor pagination"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Zendesk supports pagination endpoint that enables you to fetch more than 100,000 records. This endpoint only applies for users and tickets target. For details, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://support.zendesk.com/hc/en-us/articles/4408846180634-Introducing-Pagination-Changes-Zendesk-API"},"children":["Introducing Pagination Changes - Zendesk API"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To use the new endpoint, enable ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enable cursor-based API"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"further-information","__idx":19},"children":["Further Information"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://github.com/treasure-data/embulk-input-zendesk"},"children":["List of Options for Zendesk Data Connector"]}]}]}]},"headings":[{"value":"Zendesk Import Integration","id":"zendesk-import-integration","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Static IP Address of Treasure Data Integration","id":"static-ip-address-of-treasure-data-integration","depth":2},{"value":"Import from Zendesk via Treasure Console","id":"import-from-zendesk-via-treasure-console","depth":2},{"value":"Create a New Authentication","id":"create-a-new-authentication","depth":3},{"value":"Transfer Your Data to Treasure Data","id":"transfer-your-data-to-treasure-data","depth":3},{"value":"Source Preview","id":"source-preview","depth":3},{"value":"Advanced Settings","id":"advanced-settings","depth":4},{"value":"Data Placement","id":"data-placement","depth":3},{"value":"Run once","id":"run-once","depth":4},{"value":"Repeat Regularly","id":"repeat-regularly","depth":4},{"value":"Import from Zendesk via Workflow","id":"import-from-zendeskvia-workflow","depth":2},{"value":"Import from Zendesk via CLI","id":"import-from-zendesk-via-cli","depth":2},{"value":"Install ‘td’ Command","id":"install-td-command","depth":3},{"value":"Create Seed Config File (seed.yml)","id":"create-seed-config-file-seedyml","depth":3},{"value":"Guess Fields (Generate load.yml)","id":"guess-fields-generate-loadyml","depth":3},{"value":"Execute Load Job","id":"execute-load-job","depth":3},{"value":"Incremental Load","id":"incremental-load","depth":3},{"value":"Paginate through lists using cursor pagination","id":"paginate-through-lists-using-cursor-pagination","depth":3},{"value":"Further Information","id":"further-information","depth":2}],"frontmatter":{"seo":{"title":"Zendesk Import Integration"}},"lastModified":"2026-06-01T09:09:59.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/int/zendesk-import-integration","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}