Entity History | Yext Hitchhikers Platform

Overview

Entity History displays the historical updates made to entities. The entity history can be accessed by navigating to Content > Configuration > Entity History in the Yext platform, or via the Logs API.

Below are the main differences between Entity History in the UI and via API:

UI API
Requires Developer App No Yes
Includes Update Metadata (Event Type, Timestamp, Value (Rendered), etc.) Yes Yes
Filterable Yes (limited) Yes
Sortable by Timestamp Yes Yes
View Previous Content for a Given Update Yes No
Restore Field Values Yes No
Returns Entity UID (Yext ID) No Yes
Maximum Page Size (total records returned per request/page) 100 1,000


See the Events and Actors sections for lists of the events and actors that can be displayed in Entity History.

Entity History UI

The Entity History page displays a table of past entity updates. Each row in the table corresponds to a single update, or event, on a given entity.

By default, updates are listed in descending chronological order. Update details can be viewed by clicking the View button on a given row.

Default Columns

These columns appear as part of the default view on the Entity History page:

Column Name Description
Timestamp The timestamp of the update. This column is sortable.
Operation ID Unique identifier for the operation responsible for the update (includes bulk updates).

A single operation can contain multiple events. For example, if a user updates a field on an entity with three language profiles, this will appear in entity history as three separate rows (one for each language profile that was edited), but all three rows will have the same Operation ID.
Entity The entity that the event pertains to. This column displays a preview with an icon, name, and entity ID.
Event Type The type of update that took place.

Event type descriptions can be found in the table below.
Profile Language The language profile that the update was made on.
Field The field that was updated (if applicable).
Value (Rendered) Represents the value present on the entity profile after inherited values have been resolved. If an embedded field is included, the embedded field’s value will appear.
Actor The actor responsible for the event. Can be one of the following:
  • App (includes a link to the app that performed the update)
  • User
  • Yext Account Team
  • Yext System
  • Connector (includes a link to the connector that performed the update)
  • Additional Columns

    These columns can be added to the Entity History table by selecting them from the Columns dropdown. Click Reset Columns to restore the default view.

    Column Name Description
    Value (Raw) Value representing how the field data is stored in Yext Content.
    Primary Profile Boolean. Indicates whether the profile is the primary profile for the entity.
    Profile ID Unique identifier for the entity profile that was updated. Profile IDs vary between an entity’s primary profile and its alternate language profiles.
    Actor Details Description attributing the update to a specific actor and the interface through which the update was made.

    Restore Field Values

    In the Entity History UI, you can restore field values on entities to the values reflected on a given row in the entity history. This applies only to Field Updated type events, and can only be done in the UI.

    Restoring field values is not supported for these cases:

    • Any event type besides Field Updated (note that the FIELD_UPDATED_INHERITED event type is not supported for restoring field values)
    • Multiple changes on the same field for the same entity
    • Newly created entities whose ID shows “Value Pending”
    • Field values cannot be restored on the following fields:
      • Country Code
      • Coordinates (Display, Dropoff, Pickup, Routable, Walkable)
      • Locale
      • Any image fields

    Entity History via API

    Entity History can be accessed by querying the entityHistory table in the POST query endpoint of the Logs API. Before doing this, you will need to configure an app in the Developer Console and set the Logs endpoint permissions to read-only.

    To do this, follow the steps in the Create an App in the Developer Console guide.

    For details on a sample request and payload, and a sample response, see the Logs API documentation.

    Events

    These are the types of events that can take place on entities, and how they appear in Entity History:

    Event Type Description
    ENTITY_CREATED The entity was created
    PROFILE_CREATED A language profile was created for the entity
    FIELD_UPDATED A field value was updated on the entity profile
    FIELD_UPDATED_INHERITED The rendered value for a field was updated due to an update to the inherited field’s value. The raw value for the inheriting field was not updated. Updates that result in this event include: field value updates on an entity’s primary language profile carrying over to its alternate language profiles; source field value for an embedded field being updated
    PROFILE_HIERARCHY_UPDATED The primary language profile on an entity was changed from one profile to another
    PROFILE_DELETED A language profile was deleted
    ENTITY_DELETED The entire entity was deleted

    Actors

    An actor is the source responsible for an event in an entity’s history in Yext. In addition to the actor, Entity History includes actor details, which is further information about the exact source of the event. For example, an event could have happened due to a change made by a User (the actor), specifically via Entity Edit (the actor details).

    An event in an entity’s history can be attributed to any of these actors:

    • App
    • Yext System
    • Yext User
    • Yext Account Team
    • Connector

    Most Yext System updates appear as a separate action triggered by a Yext User event. For example, if a user updates the Address field on an entity, the backend system would then need to geocode that new address. The update would then appear as two rows in Entity History (one with an actor of Yext User for the field edit in the UI, and one with an actor of Yext System for the geocoding).

    Actor Details

    An actor responsible for a particular event can be further specified by any of these actor details:

    Actor Detail Description
    Entity Edit Edits made to fields on an entity from the Entity Edit screen in the Yext UI
    Storm Edits made directly in the Yext UI, outside of the Entity Edit screen
    Entity Upload Edits made via the File Upload tool (under Content > Entities > Add Content > Entity Upload)
    API Edits made via an API endpoint
    EnhancedLists An edit made to an entity via Content > Menus (as opposed to on the entity itself)
    M4 An edit made via Configuration as Code (the CLI or Admin Console), by pushing CaC resources that update an entity or modify a file in the admin console
    Employee [ID] on behalf of User [ID] (TemplateServer:applyTemplate) An internal tool used by Yext employees for applying entity templates on a client’s behalf
    SmartLabeler The backend system that displays which saved filters an entity is part of
    GeocodeServer The backend system that creates a geocode for an entity based on its address. You will see additional details about the creation of the geocode, similar to this format:
    (source user id: 12345678, details: PIN_YOUR_BUSINESS)
    (source user id: 1234, details: Geocode Validation Task)
    (source user id: 1234, details: Validated from TASKPROCESSING)
    TimezoneServer The backend system that assigns a time zone to an entity based on its address and/or geocode
    ListingsProfileUpdaterMessageHandler The backend system for monitoring a listing’s Google Place ID. If a new Google Place ID is found for a listing during the scanning process, Yext will update the entity in Content that powers that listing with the new Place ID.
    match set change The backend system that monitors the Facebook listing being synced to. This indicates when a new Facebook match is pulled in for a listing.
    profile pic fetch for partner 559 due to linkage change Specific events related to the “match set change” actor details. If a new Facebook match is pulled in for a listing, the following fields may be updated on the corresponding entity in Content: Facebook cover photo, Facebook page URL, Facebook profile photos.
    Bing (approved by [insert publisher name]) A user approved a suggestion from some other publisher, coming from Bing
    EntityTypeUpdateHandler The backend system that handles converting entity types. If an entity is changed from one type to another, this system will make the change from one type to another.
    EntityReferenceUpdater The backend system that handles updates for entity references. If a user has a two-way entity relationship set up between Entity A and Entity B, and edits the Description field for Entity A, the same update will be made on Entity B by the EntityReferenceUpdater.
    PurgeReopenDateTask The backend system for removing holiday hours from entities once they are in the past
    feedback The backend system that pulls in publisher data for some fields. For example, if an entity in Content does not have a profile picture specified, and it then syncs to a Facebook listing for the first time, this system will populate the profile picture on the entity with the profile picture on the Facebook listing.
    IsoRegionServer The backend system that provides an ISO code for a given location

    Legacy Actor Details

    You may see these actor details when reviewing past entity history, but they will not appear on new entity history events moving forward:

    Actor Detail Description
    Feed Upload Legacy name for Entity Upload, prior to 2018
    Publisher Suggested Edits Legacy version of publisher suggestions, prior to 2020

    Limitations

    Global

    • Entity History is limited to the last three years (1,095 days). Events older than three years are deleted from the history.
    • Newly created entities will appear in the Entity History UI with an undefined entity type and an ID of “Value Pending.” It may take up to one hour for these values to sync. Field updates cannot be restored for these entities until these values are resolved.
    • It may take up to five minutes for new update logs to appear in Entity History.

    UI

    • The ability to export logs is not currently supported. Field Updated (Inherited) events cannot be restored.
    • Field values cannot be restored on the following fields:
      • Country Code
      • Coordinates (Display, Dropoff, Pickup, Routable, Walkable)
      • Locale
      • Any image fields

    API

    • Field values cannot be restored.