# 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/3.0/transport/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

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

### Inbound

&#x20;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://2404534899-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQBk35gIi557UHt7QlJ%2F-MeACDGCG327L4_lzarF%2F-MeAMWASDQBYs4oLIVKB%2FSnapshot%201.png?alt=media\&token=64f5bdca-a51a-49db-bccc-1436d93149b9)

The bottom of the Snapshot record looks like this:

![](https://2404534899-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MQBk35gIi557UHt7QlJ%2F-MeACDGCG327L4_lzarF%2F-MeAMcXRtD_duORTKkys%2FSnapshot%202.png?alt=media\&token=aa6f1cd5-e1fa-4e66-aa4f-4aa271b4f1b3)

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.                                                                                  |
