Connecting external knowledge sources to your Zendesk account

<body>
<p id="docs-hc-snippet" style="display: none;">You can connect an external knowledge source to your Zendesk account to make the content availablewherever external content is used. Each knowledge connector has a connector-specific authentication page that you configure prior to connecting. Once connected, you can use the Connection page tomanage the connection. Any updates or additions made to those elements will be ingested into Zendesk during the next sync.</p>
<div class="article-banners">
<div id="docs-wmp-link">
<a href="https://support.zendesk.com/hc/en-us/articles/5411234991258-plan" rel="noopener" target="_blank">What's my plan?</a>
</div>

<div class="article-banner" id="suite_all">
<table>
<tbody>
<tr>
<td>
<strong>All Suites</strong>
</td>
<td>Team, Growth, Professional, Enterprise, or Enterprise Plus</td>
</tr>
</tbody>
</table>
</div>

<div class="article-banner" id="support_with_guide_all">
<table>
<tbody>
<tr>
<td>
<strong>Support with</strong>
</td>
<td>Knowledge Professional or Enterprise</td>
</tr>
</tbody>
</table>
</div>

</div>
<div id="docs-ai-summary">
<p id="docs-ai-summary-toggle">Summary: <span id="up-triangle">◀</span><span id="down-triangle">▼</span></p>
<p id="docs-ai-summary-content">You can connect external knowledge sources to your account so agents and admins can search and use content from other systems across knowledge experiences. Use dedicated connectors when available, or the universal connector for REST API sources. You can sync up to 50 sources, manage connections later, and map API fields like title, body, URL, and locale for searchable external content.</p>
</div>

<div class="body">

<div class="p">
<div class="note attention" id="topic_c3s_fft_wgc__note_dwf_5rq_zjc">
<span class="attentiontitle"></span> The ability to connect external content to
your Zendesk account is available for all plans. However, the storage limits for
external data vary by plan. See <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/4408835043994" target="_blank">Managing data storage in your Zendesk account</a>.</div>
</div>
<p class="p">You can connect an external knowledge source to your Zendesk account to make the content
available <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9822956298010#topic_cwq_c2s_ygc" target="_blank">wherever external content is used</a>. Each
knowledge connector has a connector-specific authentication page that you configure
prior to connecting. Once connected, you can use the Connection page to<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10933554246938" target="_blank"> manage the connection</a>. Any updates or additions made to
those elements will be ingested into Zendesk during the next sync. </p>
<p class="p" dir="ltr">Zendesk provides dedicated knowledge connectors for supported external
knowledge sources. If a dedicated connector isn't available, the universal connector
provides another way to ingest knowledge from a source with a compatible REST API.</p>
<p class="p">You can connect up to 50 <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9822956298010" target="_blank">external content sources</a> to your Zendesk account and make
the content available <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9822956298010" target="_blank">wherever external content is used</a>. </p>
<div class="p">This article contains the following topics:<ul class="ul" id="topic_c3s_fft_wgc__ul_mxd_ds2_k3c">
<li class="li"><a class="xref" href="#topic_a4w_ks2_k3c">Connecting external content using a dedicated knowledge connector</a></li>
<li class="li"><a class="xref" href="#topic_cn4_vly_hkc">Connecting external content using the universal knowledge connector</a></li>
<li class="li"><a class="xref" href="#topic_hxb_ps2_k3c">Knowledge connector authentication reference</a></li>
</ul>
</div>
<div class="p">Related articles:<ul class="ul" id="topic_c3s_fft_wgc__ul_npx_2r1_xgc">
<li class="li"><a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9822956298010" target="_blank">About connecting external content to Zendesk
for use across knowledge experiences</a></li>
</ul>
</div>
</div>
<div aria-labelledby="ariaid-title2" class="topic nested1" id="topic_a4w_ks2_k3c">
<h2 class="title topictitle2" id="ariaid-title2">Connecting external content using a dedicated knowledge connector</h2>
<div class="body">
<p class="p">You can use a dedicated knowledge connector to connect an external knowledge source
to your Zendesk account and make the content available <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/9822956298010#topic_cwq_c2s_ygc" target="_blank">wherever external content is used</a>. When
you connect external knowledge sources to Zendesk, you’ll see them listed as an
external search source in Knowledge admin. </p>
<p class="p">You must be a Knowledge admin to set up and manage external content connections.</p>
<div class="p">
<strong class="ph b">To connect external content using a dedicated knowledge connector</strong><ol class="ol" id="topic_a4w_ks2_k3c__ol_ftj_lhb_q3c">
<li class="li">In Knowledge admin, click <strong class="ph b">Manage articles</strong> (<img class="image" id="topic_a4w_ks2_k3c__image_ant_xcx_s2c" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/guide_icon_manage_articles.png">) in the sidebar.</li>
<li class="li">Click <strong class="ph b">External content &gt; Connections</strong>.</li>
<li class="li">Under the <strong class="ph b">Available sources</strong> section, click <strong class="ph b">Connect</strong> for the
dedicated knowledge source you want to connect.<div class="note" id="topic_a4w_ks2_k3c__note_s2d_mty_hkc">
<span class="notetitle">Note:</span> To use the universal connector, see the <a class="xref" href="#topic_cn4_vly_hkc">Connecting external content using the universal knowledge connector</a>.</div>
</li>
<li class="li">Review messaging and click <strong class="ph b">Continue</strong> to begin configuring the
connection.</li>
<li class="li">Enter the required authentication information to give Zendesk permission to
access content from the knowledge source. <p class="p">Authentication details vary by
connector. See <a class="xref" href="#topic_hxb_ps2_k3c">Knowledge
connector authentication reference</a> for information specific
to the connector you are configuring.</p>
</li>
<li class="li">Click <strong class="ph b">Sync</strong>. <p class="p">The knowledge connector is added to the Connections
page and begins syncing. To manage existing connections, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10933554246938" target="_blank">Managing external knowledge
connections</a>.</p>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title3" class="topic nested1" id="topic_cn4_vly_hkc">
<h2 class="title topictitle2" id="ariaid-title3">Connecting external content using the universal knowledge connector</h2>
<div class="body">
<p class="p" dir="ltr">You can use a universal knowledge connector to connect an external
knowledge source to Zendesk when a dedicated knowledge connector isn't available for
that source. The universal connector retrieves content through the source's REST API
and makes that content available in Zendesk as external knowledge. </p>
<p class="p" dir="ltr">When you configure a universal connector, you provide the information
Zendesk needs to access the source API, including its API endpoint and credentials.
Zendesk makes a request to the source to validate the connection and retrieve a
sample response. The fields returned in the response are then available for you to
map to the corresponding external content fields in Zendesk. If the source returns
records across multiple pages, you can also configure how Zendesk retrieves
subsequent pages.</p>
<div class="p" dir="ltr">The universal connector is intended for API-accessible wikis and knowledge
bases that meet the following API requirements:<ul class="ul" id="topic_cn4_vly_hkc__ul_wzp_bsy_hkc">
<li class="li">Interface: REST API</li>
<li class="li">Request method: GET</li>
<li class="li">Response format: JSON</li>
<li class="li">Authentication: API key</li>
<li class="li">Record retrieval: Content and required metadata must be available in each
retrieved record</li>
<li class="li">Pagination: Configurable pagination</li>
<li class="li">Synchronization: Full refresh every 24 hours</li>
</ul>
</div>
<p class="p" dir="ltr">You must be a Knowledge admin to configure the universal connector. You
should also be familiar with the API for the knowledge source you're connecting.</p>
<div class="p">
<strong class="ph b">To connect external content using the universal knowledge connector</strong><ol class="ol" id="topic_cn4_vly_hkc__ol_ghk_kty_hkc">
<li class="li">In Knowledge admin, click <strong class="ph b">Manage articles</strong> (<img class="image" id="topic_cn4_vly_hkc__image_hhk_kty_hkc" src="https://zen-marketing-documentation.s3.amazonaws.com/docs/en/guide_icon_manage_articles.png">) in the sidebar.</li>
<li class="li">Click <strong class="ph b">External content &gt; Connections</strong>.</li>
<li class="li">Under the <strong class="ph b">Available sources</strong> section, click <strong class="ph b">Universal
Connector</strong>.</li>
<li class="li">Review messaging about syncing knowledge with an API and click
<strong class="ph b">Continue</strong> to begin configuring the connection.<div class="note" id="topic_cn4_vly_hkc__note_gft_vty_hkc">
<span class="notetitle">Note:</span> The universal connector uses the permissions
associated with the API credentials used to configure the connection.
Source-specific permissions for individual users or records aren't
preserved or enforced in Zendesk.</div>
</li>
<li class="li">Enter the required authentication information to give Zendesk permission to
access content from the knowledge source. See <a class="xref" href="#topic_hxb_ps2_k3c__universalconnectortable">Universal Connector</a> in the Knowledge connector authentication
reference table below.</li>
<li class="li">Click <strong class="ph b">Sync</strong>. <p class="p">The knowledge connector is added to the Connections
page and begins syncing. To manage existing connections, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10933554246938" target="_blank">Managing external knowledge
connections</a>.</p>
</li>
</ol>
</div>
</div>
</div>
<div aria-labelledby="ariaid-title4" class="topic nested1" id="topic_hxb_ps2_k3c">
<h2 class="title topictitle2" id="ariaid-title4">Knowledge connector authentication reference</h2>
<div class="body">
<div class="p">The following table lists the authentication fields required for each
connector. When logging into the system you're connecting to, log in with a user
account that has the correct permissions for content you want to sync to
Zendesk.
<div class="tablenoborder">
<table border="1" cellpadding="4" cellspacing="0" class="table" frame="border" id="topic_hxb_ps2_k3c__table_r33_w21_zjc" rules="all" summary="">
<colgroup>
<col style="width:19.9203187250996%">
<col style="width:80.0796812749004%">
</colgroup>
<thead class="thead" style="text-align:left;">
<tr class="row">
<th class="entry cellrowborder" id="d89e300" style="vertical-align:top;">Connector</th>
<th class="entry cellrowborder" id="d89e303" style="vertical-align:top;">Authentication and connection details</th>
</tr>
</thead>
<tbody class="tbody">
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Amazon S3</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">On the Authenticate tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_eky_jlb_zjc">
<li class="li">
<strong class="ph b">Access Key ID</strong> and <strong class="ph b">Secret Access Key</strong>: AWS
IAM credentials that grant programmatic access to the
Amazon S3 bucket you want to sync. AWS access keys are
generated through the AWS Identity and Access Management
(IAM) console. See <a class="xref" href="https://docs.aws.amazon.com/keyspaces/latest/devguide/create.keypair.html" target="_blank">AWS Developer
Guide</a> for more information.</li>
<li class="li">
<strong class="ph b">AWS Region</strong>: AWS region where your bucket is
stored.</li>
</ul>
<div class="p">On the Define scope tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_e5v_wbj_zjc">
<li class="li">
<strong class="ph b">Bucket Name</strong>: Name of the Amazon S3 bucket
that you want to sync. The connector will sync all
supported file types (.docs, .xlsx, and .md),
folders, and subfolders within a bucket.</li>
</ul>
</div>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Box</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Log in to Box with a user account that has the correct
permissions for content you want to sync to Zendesk.
<p class="p">Configure the following:</p>
<ul class="ul" id="topic_hxb_ps2_k3c__ul_rry_kqh_zjc">
<li class="li">
<strong class="ph b">Root folders</strong>: Root folder that you want to sync
to your Zendesk account. You can only select the top
level folders in the root directory; you cannot select
subfolders or individual files in the root directory.
When you select a root folder, the sync automatically
includes all subfolders and supported file types (docx,
.xlsx, .html, and .md) in that folder.</li>
</ul>
<p class="p">When you set up a Box connection, you select parent
folders that reside in the root directory of your Box
knowledge base. When the connector syncs, all supported
content within that parent folder (including subfolders and
supported files) will sync to your Zendesk
account.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Confluence</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Log in to Confluence with a user account that has the correct
permissions for content you want to sync to Zendesk.
<p class="p">Configure the following:</p>
<ul class="ul" id="topic_hxb_ps2_k3c__ul_hlr_yf3_zjc">
<li class="li">
<strong class="ph b">Confluence site</strong>: Confluence site that you want to
connect.</li>
<li class="li">
<strong class="ph b">Spaces</strong>: Spaces that you want to connect. Only the
first 20 spaces (shown in alphabetical order) appear in
the drop-down menu. To select a space that doesn't
appear in the menu, begin typing the name of the space
in the search box, then select it once it appears. To
remove a space, click <strong class="ph b">X</strong> on the space tag.</li>
</ul>
<p class="p">Connections to personal spaces in Confluence are not
permitted.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Contentful</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">On the Authenticate tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_qkc_2jh_zjc">
<li class="li">
<strong class="ph b">Contentful Space ID</strong>: Identifier for the
Contentful space that you want to connect to Zendesk.
For more information about finding the Contentful Space
ID see the <a class="xref" href="https://www.contentful.com/help/spaces/find-space-id/" target="_blank">Contentful help
center</a>.</li>
<li class="li">
<strong class="ph b">API key</strong>: (<a class="xref" href="https://www.contentful.com/developers/docs/references/content-delivery-api/overview/" target="_blank">Content Delivery API
- access token</a> in Contentful) Credential that
grants programmatic access to read content stored in
your Contentful space.</li>
</ul>
<div class="p">On the Add public URL tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_r3z_wm3_zjc">
<li class="li">
<strong class="ph b">URL format* (required)</strong>: URL format for the
public page that hosts your Contentful content. The
URL format can be:<ul class="ul" id="topic_hxb_ps2_k3c__ul_o15_hmh_zjc">
<li class="li">a field containing the full URL, such
as<code class="ph codeph">fields.url</code>
</li>
<li class="li">a URL string with one or more placeholders,
such
as<code class="ph codeph">https://zendesk.com/{fields.slug}</code>
</li>
</ul>
Placeholders can reference entry fields
(<code class="ph codeph">fields.&lt;fieldId&gt;</code>) and
entry metadata (<code class="ph codeph">sys.&lt;key&gt;</code>),
such as <code class="ph codeph">sys.id</code>.</li>
</ul>
</div>
<p class="p">The knowledge connector only ingests content
that can be associated with a URL. If the URL cannot be
constructed from the URL format because required fields are
missing, the record is skipped during content
syncing.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Document360</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">On the Authenticate tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_ldz_lf3_zjc">
<li class="li">
<strong class="ph b">Select server</strong>: Select the server region where
your Document360 account is hosted (EU, US, or Private).
If you select Private, you'll also be prompted to enter
the subdomain for your Document360 private hosting
account.</li>
<li class="li">
<strong class="ph b">API token</strong>: Enter the API token that you created
in your Document360 account for this connection.</li>
</ul>
On the Define scope tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_npd_qz3_zjc">
<li class="li">
<strong class="ph b">Workspace</strong>: Select any public workspace that you
want to sync.</li>
<li class="li">
<strong class="ph b">Languages</strong>: Select the language for the knowledge
base that you want to sync. This connection will only
sync Document360 content in the language you specify
here. You must create a new connection for each
language.</li>
<li class="li">
<strong class="ph b">Categories</strong>: Select the categories that you want
to sync. Each category or subcategory you select will
appear as a tag within the Categories field. When you
select a category, you're only syncing the content that
lives at the category level; you're not syncing the
subcategories within that category. You must select both
the categories and the subcategories that contain the
content you want to sync.</li>
</ul>
<p class="p">Each time you create a connection, you must provide a
unique API token. When creating API tokens in Document360
for use with Zendesk, be sure to specify GET as the allowed
HTTP method. See the <a class="xref" href="https://docs.document360.com/docs/api-tokens" target="_blank">Document360
documentation</a> for more information.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Dropbox</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Log in to Dropbox with a user account that has the correct
permissions for content you want to sync to Zendesk (.docs,
.xlsx, .html, and .md.)<p class="p">Select the <strong class="ph b">Root folder</strong> that you
want to sync to your Zendesk account.</p>
<p class="p">You can only
select the top level folders in the root directory; you
cannot select subfolders or individual files in the root
directory. When you select a root folder, the sync
automatically includes all subfolders and supported file
types in that folder.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Freshdesk</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_dbg_3tb_zjc">
<li class="li">
<strong class="ph b">Domain</strong>: Current Freshdesk domain. This is the
subdomain you chose when you created your account (for
example, yourcompany.freshdesk.com).</li>
<li class="li">
<strong class="ph b">API Key</strong>: Freshdesk API key that allows Zendesk to
communicate directly with your Freshdesk account. </li>
</ul>
<p class="p">Zendesk only ingests content from the default
locale.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Google Drive</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Sign in to Google with a user account that has the correct
permissions for content you want to sync to Zendesk and allow
Zendesk to access your Google Drive files. <p class="p">Select the drives
you want to sync.</p>
<p class="p">The Google Drive connector supports
Google Docs and Sheets. In addition, the Google Drive
connector syncs contents from your shared Google Drive.
Content from private Google Drives is not synced. You can
<a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10735302080666#topic_ubb_35z_fjc" target="_blank">enroll in the PDF
Ingestion EAP</a> to enable <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10735302080666#topic_bn4_3qs_fjc" target="_blank">syncing of your PDF
documents</a>.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Guru</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">On the Authenticate tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_qpz_dg3_zjc">
<li class="li">
<strong class="ph b">Email</strong>: Email address used to access your Guru
account. You must be a Guru admin to create a
connection, and can only sync content that you have
permission to access in Guru.</li>
<li class="li">
<strong class="ph b">API token</strong>: User token associated with your email
address in Guru. The user token provides read and write
access in Guru based on your existing account
permissions. Click <strong class="ph b">Manage &gt; API Access</strong> above
this field to access the page in Guru where you can
generate the user token. For more information, see <a class="xref" href="https://help.getguru.com/docs/gurus-api" target="_blank">Leveraging Guru's
API</a> in Guru's help center.</li>
</ul>
<div class="p">On the Define scope tab, configure the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_frq_s1j_zjc">
<li class="li">
<strong class="ph b">Collection</strong>: Guru collection that contains the
published content you want to sync.</li>
</ul>
</div>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">HubSpot</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Log into HubSpot with a user account that has the correct
permissions for content you want to sync to Zendesk.<p class="p">Zendesk
ingests published blog posts (both internal and public) from
all locales.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Jira</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Select the JIRA account that you want to sync with your
Zendesk account.<p class="p">Enter the following information:</p>
<ul class="ul" id="topic_hxb_ps2_k3c__ul_myx_z3h_zjc">
<li class="li">
<strong class="ph b">Jira site</strong>: Enter the Jira site you want to sync.
This field displays all Jira sites that you have access
to. Each Jira site maps to a single Jira connection. If
you want to sync multiple sites, you must create a new
connection for each site.</li>
<li class="li">
<strong class="ph b">Select spaces</strong>: Enter the Jira space that you want
to sync. This field displays all spaces in the Jira site
you selected that you have access to. Each space that
you select appears as a tag in the Spaces field. You can
remove spaces that you selected in error by clicking the
<strong class="ph b">X</strong> icon on the space tag.</li>
</ul>
<div class="p">Synced content includes the following:<ul class="ul" id="topic_hxb_ps2_k3c__ul_mlr_tmh_zjc">
<li class="li">Issue key</li>
<li class="li">Summary</li>
<li class="li">Description</li>
<li class="li">Status</li>
<li class="li">Priority</li>
<li class="li">Type</li>
<li class="li">Labels</li>
<li class="li">Comments</li>
</ul>
</div>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Notion</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Select your Notion Workspace from the drop-down list in the
upper right.<p class="p">Select the pages within your teamspace that you
want to sync, then allow access to those pages.</p>
<p class="p">Due to
limitations with Notion, you can set up only a single Notion
connection in your Zendesk account. To add or remove content
from this connection, see <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10558388939930-Connecting-Notion-as-an-external-knowledge-source#topic_t1w_vps_ygc" target="_blank">Adding or removing
content from your Notion connection</a>.</p>
<p class="p">For
pages to be synced to your Zendesk account, they must have
content within the body of the page.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Salesforce</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Log into Salesforce with a user account that has the correct
permissions for content you want to sync to Zendesk.<p class="p">Zendesk
ingests the latest version of published articles (both
internal and public) from all locales.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">SharePoint</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Log in to Microsoft with a user account that has the correct
permissions for content you want to sync to Zendesk.<p class="p">Select
your <strong class="ph b">SharePoint site</strong> from the drop-down
list.</p>
<p class="p">Supported file types are docx, .xlsx, and .md.
You can <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10735302080666#topic_ubb_35z_fjc" target="_blank">enroll in the PDF
Ingestion EAP</a> to enable <a class="xref" href="https://support.zendesk.com/hc/en-us/articles/10735302080666#topic_bn4_3qs_fjc" target="_blank">syncing of your PDF
documents</a>.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Zendesk</td>
<td class="entry cellrowborder" headers="d89e303" style="vertical-align:top;">Enter information required for all connections (public and
non-public):<ul class="ul" id="topic_hxb_ps2_k3c__ul_uym_fsh_zjc">
<li class="li">
<strong class="ph b">Zendesk URL</strong>: URL for your Zendesk account</li>
</ul>
<div class="p">If you want to sync non-public content that requires
user login, click <strong class="ph b">Turn on</strong>, then select one of the
following authentication options: <ul class="ul" id="topic_hxb_ps2_k3c__ul_jl1_4w3_zjc">
<li class="li">
<strong class="ph b">OAuth 2.0 (Recommended)</strong>: Review the
permissions, then click <strong class="ph b">Allow</strong>.</li>
<li class="li">
<p class="p"><strong class="ph b">Email and API token</strong>: Enter information in
the following fields, then click
<strong class="ph b">Continue</strong>.</p>
<ul class="ul" id="topic_hxb_ps2_k3c__ul_nkz_ynt_dkc">
<li class="li">
<strong class="ph b">Email</strong>: Email address associated with
your Zendesk account. This information is combined
with the API token to access and sync your
internal content.</li>
<li class="li">
<strong class="ph b">API token</strong>: API token that you can use
to sync non-public articles to your Zendesk
account. If you leave this field blank, then only
content visible to anonymous users will be
synced.</li>
</ul>
</li>
</ul>
</div>
<p class="p">Select the <strong class="ph b">Locales (optional) </strong>for articles
you want to sync. Locale for articles that you want to sync.
If you leave this field blank, then articles associated with
all locales will be synced.</p>
<p class="p">If you don't specify an
API token with email and locale, then each connection
contains the publically available content in the all locales
for that subdomain. All published articles that meet this
criteria are synced to the connection. If you want to sync
content from another Zendesk subdomain, you'll need to add a
new connection for that subdomain.</p>
</td>
</tr>
<tr class="row">
<td class="entry cellrowborder" headers="d89e300" style="vertical-align:top;">Universal connector</td>
<td class="entry cellrowborder" headers="d89e303" id="topic_hxb_ps2_k3c__universalconnectortable" style="vertical-align:top;">
<p class="p"><strong class="ph b">Authentication</strong></p>
To
configure the connection, enter the following information.
Zendesk will send a request to the configured endpoint to verify
that it can reach the source and authenticate using the
credentials you provided.<ul class="ul" id="topic_hxb_ps2_k3c__ul_rp4_j5y_hkc">
<li class="li">
<strong class="ph b">Name</strong>: Identifier that you want to assign to the
connection. </li>
<li class="li">
<strong class="ph b">API URL</strong>: API endpoint for the source
content.</li>
<li class="li">
<strong class="ph b">Query parameters</strong>: Optional key-value pair
appended to the end of the API URL to control the data
returned in the endpoint response. You can enter up to
five query parameters. To configure a query parameter,
select the <strong class="ph b">Query Parameters</strong> check box, then enter
the <strong class="ph b">Parameter</strong> and <strong class="ph b">Value</strong> in the fields
provided.</li>
<li class="li">
<strong class="ph b">API key</strong>: API key to identify and authenticate
Zendesk when making requests to the API. This key is
usually generated in your developer or API
settings.</li>
</ul>
<p class="p"><strong class="ph b">Field Mappings</strong></p>
<div class="p" dir="ltr">Field mappings
determine how content and metadata returned by the source
API are stored as external content in Zendesk. To define how
your data appears in Zendesk, configure the following
mapping fields:<ul class="ul" id="topic_hxb_ps2_k3c__ul_dmm_45y_hkc">
<li class="li">
<strong class="ph b">Unique identifier</strong>: Required identifier for
each item</li>
<li class="li">
<strong class="ph b">Title</strong>: Article heading</li>
<li class="li">
<strong class="ph b">Body</strong>: Content AI features use</li>
<li class="li">
<strong class="ph b">URL</strong>: Public content URL</li>
<li class="li">
<strong class="ph b">Last updated</strong>: When the content last
changed</li>
<li class="li">
<strong class="ph b">Locale</strong>: Content language</li>
</ul>
</div>
<p class="p"><strong class="ph b">Pagination</strong></p>
<div class="p">During synchronization,
Zendesk follows the configured pagination strategy until it
retrieves all available records. If your source API returns
records across multiple pages, select and configure one of
the following pagination strategies that corresponds to your
source API:<ul class="ul" id="topic_hxb_ps2_k3c__ul_md5_q5y_hkc">
<li class="li">
<strong class="ph b">Cursor</strong>: Uses a unique identifier or token to
mark the position in the dataset. When selected,
configure the following values: <ul class="ul" id="topic_hxb_ps2_k3c__ul_lv2_kgz_hkc">
<li class="li">
<strong class="ph b">Cursor parameter (required)</strong>: The query
parameter name your API expects on the next
request (for example, <code class="ph codeph">cursor</code>,
<code class="ph codeph">after</code>, or
<code class="ph codeph">pageToken</code>). Zendesk sends this
parameter with the cursor value from the previous
response. The first request is sent without this
parameter.</li>
<li class="li">
<strong class="ph b">Cursor location in response (required)</strong>:
The dot-notation path to the next cursor value in
the JSON response (for example,
<code class="ph codeph">meta.next_cursor</code> or
<code class="ph codeph">pagination.next</code>).</li>
<li class="li">
<strong class="ph b">Last page detection (optional)</strong>: The
dot-notation path to a boolean field that
indicates whether more pages exist (for example,
<code class="ph codeph">meta.has_more</code>). Leave this blank
if your API signals the last page by returning a
null or empty cursor.</li>
</ul>
</li>
<li class="li">
<strong class="ph b">Offset</strong>: Specifies the starting point in the
dataset and the maximum number of records to include
on each page. When selected, configure the following
values:<ul class="ul" id="topic_hxb_ps2_k3c__ul_kdh_2hz_hkc">
<li class="li">
<strong class="ph b">Page parameter</strong>: Parameter that Zendesk
sends to request the next page (usually
<code class="ph codeph">page</code>, <code class="ph codeph">offset</code>, or
<code class="ph codeph">skip</code>.</li>
<li class="li">
<strong class="ph b">First page value</strong>: Value expected by the
API. Selecting the wrong value skips the first
batch.</li>
</ul>
</li>
<li class="li">
<strong class="ph b">Next link</strong>: API server provides the complete,
pre-formatted URL for the next page directly inside
its response. When selected, configure the following
values: <ul class="ul" id="topic_hxb_ps2_k3c__ul_hbj_mhz_hkc">
<li class="li">
<strong class="ph b">Next link location in response</strong>: Where
the next page URL sits in the response (usually
<code class="ph codeph">next</code>, <code class="ph codeph">next-page</code>,
or inside a links object.</li>
</ul>
</li>
<li class="li">
<strong class="ph b">Next link header</strong>: Zendesk looks for the
<code class="ph codeph">next</code> keyword in response
headers.</li>
<li class="li">
<strong class="ph b">None</strong>: Zendesk fetches all content in one
request.</li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<script id="docs-schema-markup" type="application/ld+json">{
"@context": "https://schema.org",
"@type": "TechArticle",
"@id": "https://support.zendesk.com/hc/en-us/articles/9796599390874",
"url": "https://support.zendesk.com/hc/en-us/articles/9796599390874",
"headline": "Connecting external knowledge sources to your Zendesk account",
"description": "You connect external knowledge sources to your account, configure authentication, and sync content using a dedicated or universal connector.",
"articleSection": "Using help center search",
"datePublished": "2025-10-06T14:54:48+00:00",
"dateModified": "2026-09-02T13:39:02.900579+00:00",
"inLanguage": "en",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://support.zendesk.com/hc/en-us/articles/9796599390874"
},
"author": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"publisher": {
"@type": "Organization",
"name": "Zendesk",
"@id": "https://www.zendesk.com"
},
"isPartOf": {
"@type": "WebSite",
"name": "Zendesk Help",
"@id": "https://support.zendesk.com/hc/"
},
"about": {
"@type": "SoftwareApplication",
"name": "Zendesk",
"@id": "https://www.zendesk.com",
"softwareAddOn": {
"@type": "SoftwareApplication",
"name": "Knowledge",
"@id": "https://support.zendesk.com/hc/en-us/sections/4405298860954"
}
}
}</script><script id="ai-summary-script">
//<![CDATA[
const ai_summary_style = document.createElement('style');
ai_summary_style.innerHTML = `#styled-article-body{padding:0 0 0}#article-body #docs-ai-summary{background-color:#f3f3f3;border:1px solid #d3d3d3;padding:10px 10px 6px;margin-bottom:16px}#article-body #docs-ai-summary #docs-ai-summary-toggle{font-size:.9em;font-weight:700;margin-bottom:4px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}#article-body #docs-ai-summary #docs-ai-summary-toggle #up-triangle{margin-left:auto;padding-right:10px;display:none}#article-body #docs-ai-summary #docs-ai-summary-toggle #down-triangle{margin-left:auto;padding-right:10px}#article-body #docs-ai-summary #docs-ai-summary-content{font-size:.9em;padding-left:25px;padding-right:25px;margin-bottom:12px}`;
document.head.appendChild(ai_summary_style);

const toggleAISummary = () => {
const summary = document.getElementById("docs-ai-summary-content");
const upTriangle = document.getElementById("up-triangle");
const downTriangle = document.getElementById("down-triangle");
if (summary.style.display === "none") {
summary.style.display = "block";
upTriangle.style.display = "none";
downTriangle.style.display = "inline";
} else {
summary.style.display = "none";
upTriangle.style.display = "inline";
downTriangle.style.display = "none";
}
};

document.getElementById("docs-ai-summary-toggle").addEventListener("click", toggleAISummary);
//]]>
</script>
</body>