# Snapshots

## Definition

A Snapshot is a representation of the bonded record and data from the relevant message that created/updated it.

A snapshot is created in one of two scenarios:

* A process record is updated and one or more integrations are interested in it (outbound).
* A process record is updated by an integration (inbound).

## Processing

In the Unifi Transport Data Flow process (see the diagram [here](https://docs.sharelogic.com/unifi/4.2/about/transport-data-flow)), the Snapshot record sits between the Stage and the source/target record. In order for it to be an accurate representation of the source/target record, the Snapshot is taken the same side of the relevant Message Script.

### Outbound

A snapshot is taken of the source record prior to running the Source to Stage Message Script (before transforming any data).

### Inbound

A snapshot is taken of the target record after running the Stage to Target Message Script (after transforming any data).

## Fields

Snapshots can be viewed by navigating to **Unifi > Transport > Snapshots**.

The top of the Snapshot record looks like this:

![](https://content.gitbook.com/content/2EJsRh73QF1TvP9eLF8k/blobs/9DvU74NEloXfTOQDZBue/snapshot-1.png)

The bottom of the Snapshot record looks like this:

![](https://content.gitbook.com/content/2EJsRh73QF1TvP9eLF8k/blobs/7SiqCc5UuFj8qTmNnKhS/snapshot-2.png)

The following table gives a description of the fields that are visible on the Snapshot record.

| Field     | Type        | Description                                                                                                                                                      |
| --------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Number    | String      | The system generated unique identifier for this record.                                                                                                          |
| Direction | Choice      | The direction of the Snapshot. Choices: None, Inbound, Outbound                                                                                                  |
| Table     | Table Name  | The source/target table of the bonded record.                                                                                                                    |
| Document  | Document ID | The source/target bonded record.                                                                                                                                 |
| Messages  | String      | Object containing details of the Message that initiated the Transaction and its Integration.                                                                     |
| Previous  | String      | The JSON representation of the bonded record before any update was made.                                                                                         |
| Current   | String      | The JSON representation of the bonded record at the time Unifi was invoked. Fields may differ to previous values here through form updates, business rules, etc. |
| After     | String      | The JSON representation of the bonded record after Unifi processing is complete.                                                                                 |
