Step 1: Create a Service Area-Only Entity Type

In order to configure entities with service areas but no physical address, you need to create an entity type in the Knowledge Graph that uses the built-in Service Area Places field, and does not use the built-in Address field.

You can create a new entity type and specify its field schema in the Knowledge Graph. If you already have an entity type with schema that you want to use for your new service area-only entity type, you can copy your existing entity type and modify it via Config-as-Code in the Admin Console.

Create an Entity Type in the Knowledge Graph

  1. In the Yext platform, navigate to Knowledge Graph > Configuration and select the Entity Types tile.
  2. Click Add Custom Entity Type in the upper right corner. Specify a name for your entity type (e.g., “Virtual Agent”). If desired, set the plural version of the name and add a description.
  3. In the field schema, make sure you include the Service Area Places field. Do not include the Address field. Configure any other fields and field sections you want to appear on the entity type.

Include the Service Area Places field in your schema

  1. When finished, click Save in the lower right.

For full instructions on creating an entity type and editing field schema, see these resources on the Help Center:


Copy and Modify an Entity Type in the Admin Console

  1. In the Yext platform, navigate to Developer > Admin Console.
  2. You will need to add a new resource to represent your new entity type in three folders:
    • ce/km/entity-type.json
    • ce/km/field-presentation.json
    • ce/km/field-eligibilty-group.json
  3. In each of the above folders, click the plus icon to add a new resource. Ensure that each new resource follows the same naming convention that you want to use for the internal ID of your entity type. For example, if your entity type’s name is going to be “Virtual Agent”, your resources should be named as follows:
    • ce/km/entity-type/virtualAgent.json
    • ce/km/field-presentation/virtualAgent.json
    • ce/km/field-eligibility-group/virtualAgent.default.json
  4. Open the resource in the entity-type folder for the entity type that you want to duplicate. Copy the entire contents of this resource and paste it into the new entity-type resource you just created. Edit the following field values:
    • "$id": "ce_entityType" (e.g., if you want your entity type’s name to be Virtual Agent, enter ce_virtualAgent)
    • "description": "description", (enter a description if desired, or leave blank)
    • "displayName": "Entity Type", (enter the name of the entity type as you want it to appear to users in the Knowledge Graph)
    • "pluralDisplayName": "Entity Types" (if desired, enter a plural version of your entity type name, e.g., “Virtual Agents”)
  5. Repeat Step 4 in the field-presentation folder to copy the entire contents of the resource you are duplicating and paste it into your new field-presentation resource. Make the following changes:

    • In the presentationEntries array, remove the address and addressHidden fields:

      {
      "id": "address",
      "visibleOnAdd": true
      },
      {
      "id": "addressHidden"
      },
    • Then, add the serviceAreaPlaces field. Including the visibleOnAdd parameter is optional, depending on whether you want the Service Area field to be visible in the Add Entity modal when users are adding new entities of this type in the Knowledge Graph.

      {
      "id": "serviceAreaPlaces",
      "visibleOnAdd": true
      },
  6. Repeat Step 4 in the field-eligibility folder to copy the entire contents of the resource you are duplicating and paste it into your new field-presentation resource. Note that if you are copying from a built-in entity type, you’ll need to find the content to copy in default/km/field-eligibility-group folder.

  7. Once you have copied the content into your new field-eligibility resource, make the following changes as shown in the example below.

    • Replace entityTypeName and Entity Type with the internal ID and display name for your new entity type.
    • Include serviceAreaPlaces in the fields array. No other field changes are necessary.

      {
      "$id": "ce_entityTypeName.default",
      "name": "Entity Type Name-default",
      "entityType": "ce_entityTypeName",
      "fields": [
      "serviceAreaPlaces"
      ],
      }
  8. After making all changes, click Apply in the upper right of the Admin Console. In the modal that appears, click Continue to apply the changes to the account you are currently working in.

Apply Admin Console changes

  • When the Variables modal appears, click Save to skip entering values.
  • Compare changes in the View Diff modal, then click Continue.
  • In the last modal (Are you sure you want to apply resources?), click Confirm.