> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tranthor.com/llms.txt
> Use this file to discover all available pages before exploring further.

# File - User Property

File user properties capture the value of a `file` values sent in a `track` event, as a base 64 encoded string. These values can then be used to send email attachments.

<Frame>
  <img src="https://mintcdn.com/tranthor/-Yh5uWI-NytiSh8c/images/file-user-property.png?fit=max&auto=format&n=-Yh5uWI-NytiSh8c&q=85&s=8dd53646f3deb2b3db808ada13ff0656" alt="File User Property" width="3680" height="2382" data-path="images/file-user-property.png" />
</Frame>

For example, one might create a `File` type user property to capture to send receipt's for a purchase. Then, this file will be assigned as a user property value, which is accessible in templates.

```json theme={null}
{
  "type": "track",
  "userId": "1234",
  "messageId": "72b988f9-97f9-42dd-aeac-75e154cf50e8",
  "event": "purchase",
  "files": [
    {
      "type": "Base64Encoded",
      "name": "receipt.pdf",
      "mimeType": "application/pdf",
      "data": "base64 encoded string"
    }
  ],
  "properties": {
    "orderId": "123456"
  }
}
```

<Info>
  Like `Performed` [user properties](/resources/user-property-types/performed), `File` user properties are calculated synchronously from within [event entry Journeys](/resources/journey-nodes/entry#event-entry). This allows you to include files in the same track event used to trigger journeys, and guarantee that the file is used to render message templates for those journeys.
</Info>

## Example Use Case - Sending an Email Attachment

See the [Email Editor](/resources/templates/email-editor#sending-email-attachments) section for a full example of how to send an email attachment.
