> For the complete documentation index, see [llms.txt](https://documentation.crossengage.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/sftp/create-a-campaign-message.md).

# Create a Campaign Message

* Log in to your CrossEngage account.
* Go to `Campaigns` and click `Create new campaign` in the top right corner of the page.

<figure><img src="/files/yEh1715nKo4tR0vFZuhQ" alt=""><figcaption></figcaption></figure>

* Choose whether you want to create an Audience or a Realtime Campaign. Information about the distinction between these types of campaign can be found [here](/data-and-engagement-platform/campaign-management/campaigns.md).
* Once you have created your campaign and filled in the "Campaign Setup" and "Target Group" sections, go to the `Messages` section and click on `Create new Message`.
* Select `SFTP Upload` from the dropdown menu. The message setup screen will open.

<figure><img src="/files/BTgB3rH8ieA0Tx6UiKfa" alt=""><figcaption></figcaption></figure>

* Under the “Send via integration” heading, select the CrossEngage integration that you set up earlier.

<figure><img src="/files/CNkM8kgvCqOl1slQJi7E" alt=""><figcaption></figcaption></figure>

### CSV File Properties

* Choose a field or multiple fields for the filename. It is important to set up meaningful names for your files, so that files can be identified correctly later. For example, if you are exporting files daily, you can use the "Date" field to generate a unique filename every day.
* Choose your compression scheme. You can compress your file with .zip or .gzip, or leave them uncompressed.

<figure><img src="/files/qBK7q8AjOkRXDdf6ne6H" alt=""><figcaption></figcaption></figure>

* Choose whether a header row with Column names should be added to the file.
* Choose your delimiter. Here we use a comma (,) as it is commonly used as a delimiter.
* Choose row delimiter. This is the character indicating the end of a row, usually entered with the "Enter" key.
* Choose a wrapper. This is the character used to enclose all values. Here we use double quotations (").
* Choose your escape character. When a computer reads this file, it needs to distinguish between the wrapper and the same character used inside a field. Here we are using double quotations (") again, as the CrossEngage feeds can read this escape sequence.

<figure><img src="/files/gGIDOaBZQe87f9rPK9aD" alt=""><figcaption></figcaption></figure>

* Lastly, create the table structure of your file. Here you need to define what fields will be added to the CSV file. You can export User traits directly, or combine them by writing [Handlebars](/data-and-engagement-platform/messages/personalization.md).

<figure><img src="/files/IYWV3pKODdezjjr0f55H" alt=""><figcaption></figcaption></figure>

* Click Save.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.crossengage.io/data-and-engagement-platform/messages/integrations/channels/sftp/create-a-campaign-message.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
