---
title: [Tech] Setting up a Data Source
slug: ikea-summer-2025-hol/tech-setting-up-a-data-source
docTags: 
createdAt: 2024-01-09T15:12:27.404Z
---

Adobe Journey Optimizer lets you define API connections to (external) systems to retrieve additional information to use in your journeys.

# Setting up a Data Source

## Data Source overview

To get an overview of all data sources in Adobe Journey Optimizer:

1. In the menu on the left side, scroll down and click on **Configurations**. You will see a set of tiles.
2. Click on **Manage** in the **Data Sources** tile to get an overview of all existing data sources.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/A1KtI5prN-Sx33OWn7u2z_image.png)

## Configuring a new Data Source

We'll be configuring a data source to use in our journey. The data source is used to retrieve information from a store location. This way we can know if the store is open.

To configure a new event, click **Create Data Source**. A menu will open on the right side.

1. Set the **name** to `yournameStoreInformation`
   1. e.g. `angeliStoreInformation`
2. Set the **URL** to `https://api-v5rrckz3mq-uc.a.run.app/generic/getStoreInformation`
3. Under **Authentication**, leave **Type** set to `No authentication`. This is where you would normally add your API's authentication headers.
4. Under **Field group**, click **fieldgroup1** and change the label to `yournameStoreResponse`.
5. When calling the Data Source, we need to be able to change the value of the store based on the geolocation. To do this, we need to set dynamic values for the data source.
   - Click on the text field under `Dynamic values`
   - Type `storeId`.
6. Now we need to provide an example payload that Adobe Journey Optimizer can expect when calling this API. To do this click on `0 fields selected` below **Response payload**. A window will open.
7. Copy the payload below and paste it into the window.

:::CodeblockTabs
API Payload

```json
{
    "storeId": "STRING",
    "isOpen": true,
    "nextOpenDateTime": "2023-05-09 09:00:00",
    "minutesTillNextOpen": 1
}
```
:::

The interface will directly try to assign data types to the given payload. Check if the field configuration is set correctly.&#x20;

1. **storeId** should be `string`&#x20;
2. **isOpen** should be `boolean`
3. **nextOpenDateTime** should be `dateTime` (<u>need to be changed</u>)
4. **minutesTillNextOpen** should be `integer`

Click **Save**. The **response payload** should now say `4 fields selected`.


Your screen should look like the image below. Click **Save**.

![](https://api.archbee.com/api/optimize/1Jp0iolWv35Z_mkI7oUiT/Q4-0BU4INWFgrEJzU-czb_image.png)

