Skip to content

Commit

Permalink
🎉 Source Zendesk Chat: migrate to YamlDeclarativeSource (Low-code) (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
bazarnov authored Mar 28, 2024
1 parent f45db44 commit 2b2f7ef
Show file tree
Hide file tree
Showing 28 changed files with 1,116 additions and 872 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ See `sample_files/sample_config.json` for a sample config file.
poetry run source-zendesk-chat spec
poetry run source-zendesk-chat check --config secrets/config.json
poetry run source-zendesk-chat discover --config secrets/config.json
poetry run source-zendesk-chat read --config secrets/config.json --catalog sample_files/configured_catalog.json
poetry run source-zendesk-chat read --config secrets/config.json --catalog integration_tests/configured_catalog.json
```

### Running unit tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ acceptance_tests:
- spec_path: "source_zendesk_chat/spec.json"
connection:
tests:
- config_path: "secrets/config_old.json"
status: "succeed"
- config_path: "secrets/config.json"
status: "succeed"
- config_path: "secrets/config_oauth.json"
Expand All @@ -23,12 +21,10 @@ acceptance_tests:
tests:
- config_path: "secrets/config.json"
expect_records:
path: "integration_tests/expected_records.txt"
fail_on_extra_columns: false
path: "integration_tests/expected_records.jsonl"
- config_path: "secrets/config_oauth.json"
expect_records:
path: "integration_tests/expected_records.txt"
fail_on_extra_columns: false
path: "integration_tests/expected_records.jsonl"
incremental:
tests:
- config_path: "secrets/config.json"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{"stream": "accounts", "data": {"create_date": "2020-12-11T18:33:40Z", "account_key": "svBRNv6HoJnSZRgpf6yMmBZaFMY6s2hP", "status": "active", "plan": {"goals": 5, "long_desc": "Best for Organizations to manage Large Support Teams", "price": 70.0, "short_desc": "Ideal for Large Support Teams", "widget_customization": "full", "max_agents": 5, "sla": true, "monitoring": true, "rest_api": true, "email_reports": true, "daily_reports": true, "chat_reports": true, "agent_reports": true, "agent_leaderboard": true, "unbranding": true, "high_load": true, "ip_restriction": true, "support": true, "name": "enterprise", "max_basic_triggers": "unlimited", "max_advanced_triggers": "unlimited", "max_departments": "unlimited", "max_concurrent_chats": "unlimited", "max_history_search_days": "unlimited", "operating_hours": true, "file_upload": true, "analytics": true, "integrations": true}}, "emitted_at": 1709738612256}
{"stream": "agents", "data": {"enabled": true, "create_date": "2020-11-17T23:55:24Z", "role_id": 360002848996, "first_name": "Team Airbyte", "email": "integration-test@airbyte.io", "last_name": "", "id": 360786799676, "enabled_departments": [7282618889231], "departments": [7282618889231, 5059474192015, 5060105343503, 5060005480847, 5060049125391, 5060061403535, 5060061508879, 5060049288719, 5060049443215, 5060066676751, 5060066798607, 5060071902479, 5060093166863, 5060100872591, 5060101239823, 5060072765583, 5060101350159, 5060077702799, 5060088742799, 5060103345935, 5060078913935, 5059463979663, 5060103664783, 5060079026575, 5060055796111, 5060090959759, 5059403825935, 5060108375311, 5059473809295, 5059436114575, 360003074836, 6770788212111], "skills": [], "display_name": "Team Airbyte", "last_login": "2024-02-09T13:12:16Z", "login_count": 113, "roles": {"administrator": true, "owner": false}}, "emitted_at": 1709738612909}
{"stream": "agents", "data": {"enabled": true, "create_date": "2021-04-23T14:33:11Z", "role_id": 360002848976, "first_name": "Fake User number - 1", "email": "fake.user-1@email.com", "last_name": "", "id": 361084605116, "enabled_departments": [7282640316815, 7282630247567, 7282624630287], "departments": [7282640316815, 7282630247567, 7282624630287, 5060105343503, 5060005480847, 5060049125391, 5060061403535, 5060061508879, 5060049288719, 5060049443215, 5060066676751, 5060066798607, 5060071902479, 5059452990735, 5060093166863, 5060100872591, 5060101239823, 5060072765583, 5060101350159, 5060077702799, 5060088742799, 5060103345935, 5060078913935, 5060103664783, 5060079026575, 5060055796111, 5060090959759, 5059473603087, 5059403825935, 5060108375311, 5059473809295, 5059436284943, 360003074836], "skills": [1300601, 8565161], "display_name": "Fake User number - 1", "last_login": null, "login_count": 0, "roles": {"administrator": false, "owner": false}}, "emitted_at": 1709738612913}
{"stream": "agents", "data": {"enabled": true, "create_date": "2021-04-23T14:34:20Z", "role_id": 360002848976, "first_name": "Fake Agent number - 1", "email": "fake.agent-1@email.com", "last_name": "", "id": 361089721035, "enabled_departments": [7282630247567], "departments": [7282630247567, 7282657193103, 5059439464079, 5060105343503, 5060005480847, 5060049125391, 5060061403535, 5060061508879, 5060049288719, 5060049443215, 5060066676751, 5060066798607, 5060071902479, 5060093166863, 5060100872591, 5060101239823, 5060072765583, 5060101350159, 5060077702799, 5060088742799, 5060103345935, 5060078913935, 5060103664783, 5060079026575, 5060055796111, 5060090959759, 5059473603087, 5060108375311, 5059473809295, 5059436114575, 5059404003599, 360003074836], "skills": [1296081, 1300641], "display_name": "Fake Agent number - 1", "last_login": null, "login_count": 0, "roles": {"administrator": false, "owner": false}}, "emitted_at": 1709738612916}
{"stream": "agent_timeline", "data": {"agent_id": 360786799676, "engagement_count": 0, "start_time": "2020-12-14T04:08:32Z", "status": "invisible", "duration": 459.213926, "id": "360786799676|2020-12-14T04:08:32Z"}, "emitted_at": 1709738613859}
{"stream": "agent_timeline", "data": {"agent_id": 360786799676, "engagement_count": 0, "start_time": "2020-12-14T04:17:32Z", "status": "invisible", "duration": 3440.710507, "id": "360786799676|2020-12-14T04:17:32Z"}, "emitted_at": 1709738613863}
{"stream": "agent_timeline", "data": {"agent_id": 360786799676, "engagement_count": 0, "start_time": "2020-12-14T18:45:37Z", "status": "invisible", "duration": 520.75554, "id": "360786799676|2020-12-14T18:45:37Z"}, "emitted_at": 1709738613864}
{"stream": "bans", "data": {"created_at": "2021-04-21T14:42:46Z", "reason": "Spammer", "type": "ip_address", "id": 70519881, "ip_address": "192.123.123.5"}, "emitted_at": 1709738615366}
{"stream": "bans", "data": {"created_at": "2021-04-26T13:55:20Z", "reason": "Spammer", "type": "ip_address", "id": 75112241, "ip_address": "191.121.123.5"}, "emitted_at": 1709738615369}
{"stream": "bans", "data": {"created_at": "2021-04-26T13:55:30Z", "reason": "Spammer", "type": "ip_address", "id": 75112281, "ip_address": "111.121.123.5"}, "emitted_at": 1709738615371}
{"stream": "chats", "data": {"timestamp": "2021-04-26T13:54:02Z", "unread": false, "webpath": [], "type": "offline_msg", "id": "2104.10414779.SVhDCJ9flq79a", "update_timestamp": "2021-04-27T15:09:17Z", "tags": [], "department_name": null, "session": {"browser": "Safari", "city": "Orlando", "country_code": "US", "country_name": "United States", "end_date": "2014-10-09T05:46:47Z", "id": "141109.654464.1KhqS0Nw", "ip": "67.32.299.96", "platform": "Mac OS", "region": "Florida", "start_date": "2014-10-09T05:28:31Z", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25"}, "department_id": null, "deleted": false, "message": "Hi there!", "visitor": {"phone": "+32178763521", "notes": "Test 2", "id": "3.45678", "name": "Jiny", "email": "visitor_jiny@doe.com"}, "zendesk_ticket_id": null}, "emitted_at": 1709738618587}
{"stream": "chats", "data": {"timestamp": "2021-04-21T14:36:55Z", "unread": false, "webpath": [], "type": "offline_msg", "id": "2104.10414779.SVE9Mo9bE4wR8", "update_timestamp": "2021-04-30T11:06:19Z", "tags": [], "department_name": null, "session": {"browser": "Safari", "city": "Orlando", "country_code": "US", "country_name": "United States", "end_date": "2014-10-09T05:46:47Z", "id": "141109.654464.1KhqS0Nw", "ip": "67.32.299.96", "platform": "Mac OS", "region": "Florida", "start_date": "2014-10-09T05:28:31Z", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25"}, "department_id": null, "deleted": false, "message": "Hi there!", "visitor": {"phone": "", "notes": "", "id": "1.12345", "name": "John", "email": "visitor_john@doe.com"}, "zendesk_ticket_id": null}, "emitted_at": 1709738618592}
{"stream": "chats", "data": {"timestamp": "2021-04-26T13:53:30Z", "unread": false, "webpath": [], "type": "offline_msg", "id": "2104.10414779.SVhD3v7I1LBOq", "update_timestamp": "2021-04-30T11:08:12Z", "tags": [], "department_name": null, "session": {"browser": "Safari", "city": "Orlando", "country_code": "US", "country_name": "United States", "end_date": "2014-10-09T05:46:47Z", "id": "141109.654464.1KhqS0Nw", "ip": "67.32.299.96", "platform": "Mac OS", "region": "Florida", "start_date": "2014-10-09T05:28:31Z", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25"}, "department_id": null, "deleted": false, "message": "Hi there!", "visitor": {"phone": "+78763521", "notes": "Test", "id": "2.34567", "name": "Tiny", "email": "visitor_tiny@doe.com"}, "zendesk_ticket_id": null}, "emitted_at": 1709738618596}
{"stream": "departments", "data": {"name": "Airbyte Department 1", "members": [361084605116], "settings": {"chat_enabled": true, "solved_ticket_reassignment_strategy": "", "support_group_id": 7282640316815}, "description": "A sample department", "id": 7282640316815, "enabled": true}, "emitted_at": 1709738620228}
{"stream": "departments", "data": {"name": "Department 1", "members": [360786799676], "settings": {"chat_enabled": true, "solved_ticket_reassignment_strategy": "", "support_group_id": 7282618889231}, "description": "A sample department", "id": 7282618889231, "enabled": true}, "emitted_at": 1709738620231}
{"stream": "departments", "data": {"name": "Department 2", "members": [361089721035, 361084605116], "settings": {"chat_enabled": true, "solved_ticket_reassignment_strategy": "", "support_group_id": 7282630247567}, "description": "A sample department 2", "id": 7282630247567, "enabled": true}, "emitted_at": 1709738620233}
{"stream": "goals", "data": {"enabled": true, "attribution_model": "first_touch", "description": "A new goal", "name": "Goal 3", "id": 513481, "attribution_period": 15, "settings": {"conditions": [{"operator": "equals", "type": "url", "value": "http://mysite.com/"}]}}, "emitted_at": 1709738621059}
{"stream": "goals", "data": {"enabled": false, "attribution_model": "first_touch", "description": "A new goal - 1", "name": "Goal one", "id": 529641, "attribution_period": 5, "settings": {"conditions": [{"operator": "equals", "type": "url", "value": "http://mysite.com/"}]}}, "emitted_at": 1709738621061}
{"stream": "goals", "data": {"enabled": false, "attribution_model": "first_touch", "description": "A new goal - 2", "name": "Goal two", "id": 529681, "attribution_period": 15, "settings": {"conditions": [{"operator": "equals", "type": "url", "value": "http://mysite.com/"}]}}, "emitted_at": 1709738621063}
{"stream": "roles", "data": {"enabled": true, "permissions": {"visitors_seen": "account", "proactive_chatting": "listen-join", "edit_visitor_information": true, "edit_visitor_notes": true, "view_past_chats": "account", "edit_chat_tags": true, "manage_bans": "account", "access_analytics": "account", "view_monitor": "account", "edit_department_agents": "account", "set_agent_chat_limit": "account", "manage_shortcuts": "account"}, "description": "In addition to regular agent privileges, administrators can edit widget and accounts settings, manage agents, roles and permissions, and more. Permissions for the administrator role cannot be modified.", "name": "Administrator", "id": 360002848996, "members_count": 1}, "emitted_at": 1709738621711}
{"stream": "roles", "data": {"enabled": true, "permissions": {"visitors_seen": "account", "proactive_chatting": "listen-join", "edit_visitor_information": true, "edit_visitor_notes": true, "view_past_chats": "account", "edit_chat_tags": false, "manage_bans": "account", "access_analytics": "none", "view_monitor": "account", "edit_department_agents": "none", "set_agent_chat_limit": "none", "manage_shortcuts": "account"}, "description": "Agent is the most basic role in an account, and their primary responsibility is to serve chats. Permissions for the agent role can be modified.", "name": "Agent", "id": 360002848976, "members_count": 2}, "emitted_at": 1709738621714}
{"stream": "roles", "data": {"enabled": true, "permissions": {"visitors_seen": "account", "proactive_chatting": "listen-join", "edit_visitor_information": true, "edit_visitor_notes": true, "view_past_chats": "account", "edit_chat_tags": false, "manage_bans": "account", "access_analytics": "none", "view_monitor": "account", "edit_department_agents": "none", "set_agent_chat_limit": "none", "manage_shortcuts": "account"}, "description": "Can serve social messaging conversations only", "name": "Agent (limited)", "id": 7282769201935, "members_count": 0}, "emitted_at": 1709738621715}
{"stream": "routing_settings", "data": {"routing_mode": "assigned", "chat_limit": {"enabled": false, "limit": 3, "limit_type": "account", "allow_agent_override": false}, "skill_routing": {"enabled": true, "max_wait_time": 30}, "reassignment": {"enabled": true, "timeout": 30}, "auto_idle": {"enabled": false, "reassignments_before_idle": 3, "new_status": "away"}, "auto_accept": {"enabled": false}}, "emitted_at": 1709738622442}
{"stream": "shortcuts", "data": {"options": "Yes/No", "id": "goodbye", "scope": "all", "name": "goodbye", "tags": ["goodbye_survey"], "message": "Thanks for chatting with us. Have we resolved your question(s)?"}, "emitted_at": 1709738623130}
{"stream": "shortcuts", "data": {"options": "Yes/No", "id": "help", "scope": "all", "name": "help", "tags": ["help_survey"], "message": "Do you need any help?"}, "emitted_at": 1709738623133}
{"stream": "shortcuts", "data": {"options": "", "id": "hi", "scope": "all", "name": "hi", "tags": [], "message": "Hi, how can we help you today? =)"}, "emitted_at": 1709738623135}
{"stream": "skills", "data": {"id": 1300601, "name": "english", "members": [361084605116], "description": "English language", "enabled": true}, "emitted_at": 1709738623775}
{"stream": "skills", "data": {"id": 1300641, "name": "france", "members": [361089721035], "description": "France language", "enabled": true}, "emitted_at": 1709738623778}
{"stream": "skills", "data": {"id": 1296081, "name": "mandarin", "members": [361089721035], "description": "Chinese language", "enabled": true}, "emitted_at": 1709738623780}
{"stream": "triggers", "data": {"enabled": true, "definition": {"condition": ["and", ["not", ["firedBefore"]], ["and", ["neq", "@account_status", "offline"], ["stillOnSite", 60], ["eq", "@visitor_served", false]]], "event": "chat_requested", "actions": [["setTriggered", true], ["sendMessageToVisitor", "Customer Service", "We apologize for keeping you waiting. Our operators are busy at the moment, please leave us a message with your email address and we'll get back to you shortly."]]}, "description": "Auto respond to messages if agents don't respond in time.", "name": "Chat Rescuer", "id": 66052481}, "emitted_at": 1709738624471}
{"stream": "triggers", "data": {"enabled": true, "definition": {"event": "page_enter", "condition": ["and", ["eq", "@visitor_page_url", "www.zendesk.com/cart"], ["stillOnPage", 60], ["eq", "@visitor_requesting_chat", false], ["eq", "@visitor_served", false], ["not", ["firedBefore"]]], "actions": [["sendMessageToVisitor", "Stephanie", "Hi, are you having any trouble checking out? Feel free to reach out to us with any questions."]], "version": 1, "editor": "advanced"}, "description": "Reduce cart abandonment by engaging customers that are lingering on the checkout page.", "name": "Checkout Page", "id": 66052561}, "emitted_at": 1709738624474}
{"stream": "triggers", "data": {"enabled": true, "definition": {"event": "chat_requested", "condition": ["and", ["eq", "@visitor_requesting_chat", true], ["eq", "@visitor_served", false], ["not", ["firedBefore"]]], "actions": [["wait", 5], ["sendMessageToVisitor", "Customer Service", "Thanks for your message, please wait a moment while our agents attend to you."]], "version": 1, "editor": "advanced"}, "description": "Send an automated reply to customers that start a chat, so they know their request is being attended to.", "name": "First Reply", "id": 66052601}, "emitted_at": 1709738624476}
Loading

0 comments on commit 2b2f7ef

Please sign in to comment.