From e505486ca49d40af8554afedbb36b95934921a55 Mon Sep 17 00:00:00 2001 From: Yuhong Sun Date: Sat, 17 Feb 2024 10:40:19 -0800 Subject: [PATCH] Zendesk Tags (#1089) --- backend/danswer/connectors/zendesk/connector.py | 13 +++++++++++-- web/src/app/admin/connectors/zendesk/page.tsx | 6 +++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/backend/danswer/connectors/zendesk/connector.py b/backend/danswer/connectors/zendesk/connector.py index 5e03b6be0..b8c91c23c 100644 --- a/backend/danswer/connectors/zendesk/connector.py +++ b/backend/danswer/connectors/zendesk/connector.py @@ -21,6 +21,8 @@ def _article_to_document(article: Article) -> Document: display_name=article.author.name, email=article.author.email ) update_time = time_str_to_utc(article.updated_at) + labels = [str(label) for label in article.label_names] + return Document( id=f"article:{article.id}", sections=[ @@ -30,7 +32,7 @@ def _article_to_document(article: Article) -> Document: semantic_identifier=article.title, doc_updated_at=update_time, primary_owners=[author], - metadata={"type": "article"}, + metadata={"labels": labels} if labels else {}, ) @@ -45,8 +47,15 @@ class ZendeskConnector(LoadConnector, PollConnector): self.zendesk_client: Zenpy | None = None def load_credentials(self, credentials: dict[str, Any]) -> dict[str, Any] | None: + # Subdomain is actually the whole URL + subdomain = ( + credentials["zendesk_subdomain"] + .replace("https://", "") + .split(".zendesk.com")[0] + ) + self.zendesk_client = Zenpy( - subdomain=credentials["zendesk_subdomain"], + subdomain=subdomain, email=credentials["zendesk_email"], token=credentials["zendesk_token"], ) diff --git a/web/src/app/admin/connectors/zendesk/page.tsx b/web/src/app/admin/connectors/zendesk/page.tsx index ec03e4e70..fe7239efe 100644 --- a/web/src/app/admin/connectors/zendesk/page.tsx +++ b/web/src/app/admin/connectors/zendesk/page.tsx @@ -80,7 +80,7 @@ const Main = () => {

Existing API Token:

- {zendeskCredential.credential_json?.zendesk_email} + {zendeskCredential.credential_json?.zendesk_token}