Use the Yext Account source to convert your ECLs to entities, fetch entities from another Yext account, or add analytics metrics to your entities.
If you power your Search experience or Yext pages with entities from multiple source accounts, you no longer have to manually transfer and update the data.
Create a Yext Account Connector
Prerequisites: You need access to two Yext accounts: a source account (where you will pull entities from) and a target account (where you will pull entities into).
Note: Each data connector pulls entities of one entity type at a time. To pull multiple entity types, repeat Step 3 for each additional entity type.
Step 1: Prepare the Source Account
The source account is the account that holds the entities you want to pull. You need to generate an API key by creating an app in the Developer Console.
- Copy down the source account’s business ID and entity type ID of the desired entity type, as you will need both in Step 3.
- The business ID is the string of numbers that can be found in any URL while in the platform, e.g. ‘1234567’ in https://www.yext.com/s/1234567/entities2.
- The entity type ID (e.g. location or ce_service) can be found by going to Knowledge Graph > Configuration in the navigation bar, and then selecting Entity Types. From there, select your preferred entity type.
- Navigate to Developer > Developer Console in the navigation bar.
- If this is not available in your navigation bar, reach out to your Yext Administrator.
- Click + Add an App.
- Enter a name and email for your app. Click Create App.
- Under the API Credentials tab, add an API Permission. Add an Endpoint and point it to Management API > Entities. Under Permissions, choose Read-only Access and click Save.
- Under the API Keys section below, copy down the API Key, as you will need it in Step 3.
Step 2: Prepare the Target Account
Log into your target account. If you have not already created and enabled the entity type you will pull into, do so by going to Knowledge Graph > Configuration and either adding a custom entity type or clicking “enable” on the drop-down menu of your desired entity type.
The configuration of the entity type on your source account and target account do not need to be identical; however, you should add all of the fields to the entity type in the target account that you’d like to pull from the source account’s entities.
If the entity type has many fields, making it cumbersome to add them manually, you can easily clone resources via the Yext CLI.
Step 3: Build the Data Connector
- Navigate to Knowledge Graph > Connectors.
- Click + Add Connector.
- Under Native Sources, select Yext Account.
- Under Operation, select Fetch Entities.
- Paste the API key you generated in your source account.
- Under V Param, input today’s date in the format YYYYMMDD (e.g.,
20230810). - Under Environment, input
apiif you are pulling from a production account, andsandboxif you’re pulling from a sandbox account. - Under Entity Type, input the API name of the entity type you are pulling (e.g.,
healthcareProfessionalsorce_blogs). - Click Pull in the top right corner. You can click View Raw Response to confirm that your entities look right.
The remaining steps to build out a data connector are standard and not specific to pulling from a Yext account. See the Pull Connector documentation (starting at Step 3) for further guidance.
Source Details
This source allows users to fetch data from multiple Yext API endpoints to:
- Fetch Menu ECLs
- Fetch Menu Items
- Fetch Menu Items from One Menu
- Fetch Bio ECLs
- Fetch Product ECLs
- Fetch Entities
- Fetch Analytics
- Fetch Content Endpoints
Fetch Menu ECLs
This operation uses the Menu ECL endpoint to fetch menus.
Requirements
You are required to input a Yext API key, V Param, and Environment.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account or sandbox if you’re pulling from a sandbox account.
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Entities: Read-only API permissions.
Pagination
The pagination settings for this operation are below:
| Offset Key | offset |
| Offset Start Value | 0 |
| Limit Key | limit |
| Limit Value | 50 |
| Total Items Key | response.count |
| Total Items Key In | Response Body |
Fields
currencyidaccountIdnametitlesizepublishlanguagesections[].idsections[].namesections[].items[].cost.typesections[].items[].cost.pricesections[].items[].cost.options[].namesections[].items[].cost.options[].pricesections[].items[].photo.urlsections[].items[].photo.heightsections[].items[].photo.widthsections[].items[].idsections[].items[].namesections[].items[].descriptionsections[].items[].calories.typesections[].items[].calories.caloriesections[].items[].calories.rangeTosections[].descriptionsections[].items[].featuredsections[].items[].cost.othersections[].items[].cost.rangeTo
Limits and Other Info
This endpoint has a rate limit of 5,000 requests per hour.
Fetch Menu Items
This operation uses the Menu ECL endpoints and uses the items array as the base selector response.menus[].sections[].items[] for a list of menu items.
Requirements
You are required to input a Yext API key, V Param, and Environment.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account, and sandbox if you’re pulling from a sandbox account.
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Entities: Read-only API permissions.
Pagination
The pagination settings for this operation are below:
| Offset Key | offset |
| Offset Start Value | 0 |
| Limit Key | limit |
| Limit Value | 50 |
| Total Items Key | response.count |
| Total Items Key In | Response Body |
Fields
cost.typecost.pricecost.options[].namecost.options[].pricephoto.urlphoto.heightphoto.widthidnamedescriptioncalories.typecalories.calorie
Limits and Other Info
This endpoint has a rate limit of 5,000 requests per hour.
Fetch Menu Items from One Menu
This operation uses the Menu ECL: Get Menu endpoint to fetch items from a given menu, and uses the items array as the base selector response.sections[].items[] for a list of menu items.
Requirements
You are required to input a Yext API key, V Param, Environment, and Menu List ID.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account or sandbox if you’re pulling from a sandbox account.
Include the Menu List ID of the menu whose items you would like to pull. This can be found by exporting your menu either via API or from within the UI and using the Menu List ID field in the export.
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Entities: Read-only API permissions.
Pagination
The pagination settings for this operation are below:
| Offset Key | offset |
| Offset Start Value | 0 |
| Limit Key | limit |
| Limit Value | 50 |
| Total Items Key | response.count |
| Total Items Key In | Response Body |
Fields
cost.typecost.pricecost.options[].namecost.options[].pricephoto.urlphoto.heightphoto.widthidnamedescriptioncalories.typecalories.calorie
Limits and Other Info
This endpoint has a rate limit of 5,000 requests per hour.
Fetch Bio ECLs
This operation uses the Bio ECL endpoint to fetch bios.
Requirements
You are required to input a Yext API key, V Param, and Environment.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account or sandbox if you’re pulling from a sandbox account.
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Entities: Read-only API permissions.
Pagination
The pagination settings for this operation are below:
| Offset Key | offset |
| Offset Start Value | 0 |
| Limit Key | limit |
| Limit Value | 10 |
| Total Items Key | response.count |
| Total Items Key In | Response Body |
Fields
currencyidaccountIdnametitlesizepublishlanguagesections[].idsections[].namesections[].descriptionsections[].items[].cost.typesections[].items[].cost.pricesections[].items[].photossections[].items[].idsections[].items[].namesections[].items[].description
Limits and Other Info
This endpoint has a rate limit of 5,000 requests per hour.
Fetch Product ECLs
This operation uses the Product ECL endpoint to fetch products.
Requirements
You are required to input a Yext API key, V Param, and Environment.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account or sandbox if you’re pulling from a sandbox account.Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Entities: Read-only API permissions.
Pagination
The pagination settings for this operation are below:
| Offset Key | offset |
| Offset Start Value | 0 |
| Limit Key | limit |
| Limit Value | 10 |
| Total Items Key | response.count |
| Total Items Key In | Response Body |
Fields
idaccountIdnametitlesizepublishlanguagesections[].idsections[].namesections[].items[].titlesections[].items[].photo.urlsections[].items[].photo.heightsections[].items[].educationsections[].items[].certificationssections[].items[].servicessections[].items[].phonesections[].items[].emailsections[].items[].idsections[].items[].namesections[].items[].descriptionsections[].items[].photo.alternateTextsections[].itemssections[].items[].url
Limits and Other Info
This endpoint has a rate limit of 5,000 requests per hour.
Fetch Entities
This operation uses the Entities: List endpoint to fetch entities of any type from another Yext account.
Requirements
You are required to input a Yext API key, V Param, Environment, and entity type.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account or sandbox if you’re pulling from a sandbox account.
Be sure to include the API name of the entity type, e.g., healthcareProfessional for Healthcare Professionals, or ce_shirts if you created a custom entity type called “Shirts.”
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Entities: Read-only API permissions.
Pagination
The pagination settings for this operation are below:
| Cursor Type | token |
| Page Key | pageToken |
| Detect Cursor In | Response Body |
| Cursor | response.pageToken |
| Total Items Key | response.count |
| Total Items Key In | Response Body |
Fields
The fields returned will depend on the chosen entity type, as well as the custom fields added to the entity type.
Limits and Other Info
This endpoint has a rate limit of 5,000 requests per hour.
Fetch Analytics
This operation uses the Analytics Report endpoint to fetch analytics from another Yext account.
Requirements
You are required to input a Yext API key, V Param, and Environment. You must also input metrics and dimensions to fetch analytics data.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account, and sandbox if you’re pulling from a sandbox account.
When specifying your metrics and dimensions, make sure you use the correct API name. See the Conversion Tracking Metrics reference for API names for metrics, and the Dimensions in Analytics help article for API names for dimensions.
You will most likely want to choose ENTITY_IDS as your dimension so that the connector knows which entity to add your analytics values to.
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Management API > Analytics: Read-only API permissions.
Pagination
The Fetch Analytics operation does not use pagination, as the results are all returned in one page.
Fields
The fields returned will depend on the chosen metric.
Limits and Other Info
This endpoint has a rate limit of 1,000 requests per hour.
Fetch Content Endpoint Data
This operation fetches entity data from a custom Content endpoint.
Requirements
You are required to input a Yext API key, V Param, Environment, and Content Endpoint ID.
Your V Param should be today’s date, in the format YYYYMMDD. The environment input should be api if you’re pulling from a production account or sandbox if you’re pulling from a sandbox account.
Your Content Endpoint ID can be found in the settings of your Content Endpoint.
Authentication
You can generate an API Key on any account by navigating to the Developer Console and adding a new app. Make sure that the app has Content Delivery API > Content API permissions. Read-only is the only applicable scope.
Pagination
The pagination settings for this operation are below:
| Cursor Type | token |
| Page Key | pageToken |
| Detect Cursor In | Response Body |
| Cursor | response.pageToken |
Fields
The fields returned will depend on the fields configured in the Content endpoint.
Limits and Additional Info
This operation does not allow for filtering on an indexed field. To filter on indexed fields, use the Pull from API source instead of the Yext Account source.