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

# Adobe Campaign Standard Integration

> Connect Aampe to Adobe Campaign Standard for Email and Push notifications

Estimated setup time: 30-45 minutes

<Note>
  This guide is for **Adobe Campaign Standard (ACS)**. For Adobe Campaign Classic (ACC), see [Adobe Campaign Classic Integration](/developer-guide/message-providers/message-pages/adobe-campaign-classic).
</Note>

## Connection Requirements

Aampe connects to ACS via the REST API using OAuth Server-to-Server authentication.

### Required from Customer

| Requirement                    | Description                                                        |
| ------------------------------ | ------------------------------------------------------------------ |
| Adobe Developer Console Access | Admin access to create API credentials                             |
| Client ID                      | From Adobe Developer Console                                       |
| Client Secret                  | From Adobe Developer Console                                       |
| Organization ID                | Your Adobe Organization ID                                         |
| Unsubscribe Endpoint URL       | Your unsubscribe endpoint that supports One-Click List-Unsubscribe |

### Create API Credentials

1. Go to [Adobe Developer Console](https://developer.adobe.com/console/)
2. Create a new project or select an existing one
3. Click **Add API** and select **Adobe Campaign Standard API**
4. Select **OAuth Server-to-Server** authentication
5. Save your credentials:
   * Client ID
   * Client Secret
   * Organization ID

### OAuth Configuration

| Parameter | Value                                         |
| --------- | --------------------------------------------- |
| Token URL | `https://ims-na1.adobelogin.com/ims/token/v3` |
| Scope     | `urn:adobecloud:campaign`                     |

### Unsubscribe Endpoint Requirements

Your unsubscribe endpoint must:

* Accept POST requests (for One-Click List-Unsubscribe from Gmail/Yahoo)
* Accept a user identifier parameter that Aampe will populate per message
* Return HTTP 200 on successful unsubscribe

Provide Aampe with:

* **Base URL:** e.g., `https://yourcompany.com/unsubscribe`
* **Parameter name:** e.g., `uid`, `token`, or `email`

Aampe will construct the full URL per message: `https://yourcompany.com/unsubscribe?uid={user_identifier}`

## Email Channel Setup

### Step 1: Create Event Configuration

1. Click Adobe logo → **Marketing plans** → **Transactional messages** → **Event configuration**
2. Click **Create**

### Step 2: Configure Event Properties

| Field               | Value               |
| ------------------- | ------------------- |
| Label               | `Aampe Email`       |
| ID                  | `aampeEmail`        |
| Type                | Transactional event |
| Targeting dimension | Real-time event     |
| Channel             | Email               |

### Step 3: Add Custom Fields

In the **Fields** section, add these exact field names:

| Field Name            | Type |
| --------------------- | ---- |
| `aampeFromEmail`      | Text |
| `aampeFromName`       | Text |
| `aampeSubject`        | Text |
| `aampeBody`           | Text |
| `aampeUnsubscribeUrl` | Text |

### Step 4: Publish Event Configuration

Click **Save** then **Publish**

### Step 5: Configure Email Template

After publishing, ACS creates a transactional message template. Open it to configure:

**Sender Details:**

| Field      | Value                   |
| ---------- | ----------------------- |
| From email | `$(ctx.aampeFromEmail)` |
| From name  | `$(ctx.aampeFromName)`  |

**Subject Line:**

```
$(ctx.aampeSubject)
```

**Email Content (HTML source):**

```html theme={null}
$(ctx.aampeBody)
```

<Warning>
  Do not add any additional HTML structure. Aampe provides the complete email content including all styling and layout.
</Warning>

### Step 6: Configure SMTP Headers for Unsubscribe

This step is required for email deliverability compliance (Gmail/Yahoo One-Click Unsubscribe).

In the email template properties, add SMTP headers:

```
List-Unsubscribe: <$(ctx.aampeUnsubscribeUrl)>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
```

### Step 7: Publish Template

Click **Publish** to activate the transactional message.

<Check>
  Your email template is now ready. Aampe will trigger personalized emails via the API.
</Check>

***

## Push Notification Channel Setup

### Step 1: Create Event Configuration

1. Click Adobe logo → **Marketing plans** → **Transactional messages** → **Event configuration**
2. Click **Create**

### Step 2: Configure Event Properties

| Field               | Value                      |
| ------------------- | -------------------------- |
| Label               | `Aampe Push Notification`  |
| ID                  | `aampePush`                |
| Type                | Transactional event        |
| Targeting dimension | Real-time event            |
| Channel             | Mobile (Push notification) |

### Step 3: Add Custom Fields

In the **Fields** section, add these exact field names:

| Field Name   | Type |
| ------------ | ---- |
| `aampeTitle` | Text |
| `aampeBody`  | Text |
| `aampeLink`  | Text |
| `aampeImg`   | Text |

### Step 4: Publish Event Configuration

Click **Save** then **Publish**

### Step 5: Configure Push Template

After publishing, ACS creates a transactional message template. Open it to configure:

**Push Content:**

| Field     | Value               |
| --------- | ------------------- |
| Title     | `$(ctx.aampeTitle)` |
| Body      | `$(ctx.aampeBody)`  |
| Deep link | `$(ctx.aampeLink)`  |
| Media URL | `$(ctx.aampeImg)`   |

### Step 6: Publish Template

Click **Publish** to activate the transactional message.

<Check>
  Your push notification template is now ready.
</Check>

***

## Field Reference

### Email Payload Fields

Aampe sends these fields in the event context:

| Field                 | Type   | Description                               |
| --------------------- | ------ | ----------------------------------------- |
| `aampeFromEmail`      | String | Sender email address                      |
| `aampeFromName`       | String | Sender display name                       |
| `aampeSubject`        | String | Email subject line                        |
| `aampeBody`           | String | Complete HTML email content               |
| `aampeUnsubscribeUrl` | String | Full unsubscribe URL with user identifier |

### Push Payload Fields

| Field        | Type   | Description                 |
| ------------ | ------ | --------------------------- |
| `aampeTitle` | String | Push notification title     |
| `aampeBody`  | String | Push notification body text |
| `aampeLink`  | String | Deep link or URL to open    |
| `aampeImg`   | String | Rich media image URL        |

***

## Validation Checklist

Before going live, verify with your Aampe representative:

* **API Connectivity** - Aampe can successfully authenticate with your ACS instance using OAuth credentials
* **Test Email** - Send a test email and verify sender name/email, content rendering, subject line, unsubscribe header presence (check raw email headers), and link tracking
* **Test Push** - Send a test push notification and verify title/body text, deep link opens the correct screen, and image loads (if using rich push)
* **Test Unsubscribe** - Click the unsubscribe link and verify your endpoint receives the request and the user is successfully unsubscribed in your system

***

## Official Documentation

For more details on Adobe Campaign Standard:

* [Transactional messaging](https://experienceleague.adobe.com/en/docs/campaign-standard/using/communication-channels/transactional-messaging/getting-started-with-transactional-msg)
* [Event configuration](https://experienceleague.adobe.com/en/docs/campaign-standard/using/communication-channels/transactional-messaging/event-configuration)
* [Transactional message templates](https://experienceleague.adobe.com/en/docs/campaign-standard/using/communication-channels/transactional-messaging/transactional-template)
* [REST API documentation](https://experienceleague.adobe.com/en/docs/campaign-standard/using/working-with-apis/about-campaign-standard-apis/about-campaign-standard-apis)
