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

# Setup

> Connect to your Campaign Monitor app for OAuth.

Refold offers both **Key Based** and **OAuth 2.0** integration for Campaign Monitor. In this guide, we will look at the OAuth App setup process.

To setup your Campaign Monitor app in Refold for OAuth, you will need the following credentials from your [Campaign Monitor account](https://login.createsend.com/l):

* Client ID
* Client Secret
* Scopes

### Pre-requisites

1. Campaign Monitor Developer account. You can create one [here](https://www.campaignmonitor.com/signup/).

### Required Settings

* **Mandatory Scopes**

1. Administer Account

<Info>If you haven't already created an app in Campaign Monitor, you'd need to create one.</Info>

### Creating an app in Campaign Monitor

To create a Campaign Monitor app and acquire the above mentioned credentials, please follow the steps mentioned below:

1. Log in to your [Campaign Monitor account](https://login.createsend.com/l).
2. Click on the `Profile` icon in the top right and select `Integrations` button.

<img height="200" src="https://mintcdn.com/cobalt-55/YZVVpdFwo8NtLV-a/images/Campaignmonitor/cm_navigation.png?fit=max&auto=format&n=YZVVpdFwo8NtLV-a&q=85&s=9cbcc60cdf9d625f4523a6299b324de3" alt="Navigation for App setup" data-path="images/Campaignmonitor/cm_navigation.png" />

3. Click on `OAuth Registration` button in the right sidebar.
4. Go to your [`Apps catalog`](https://app.gocobalt.io/apps) in **Refold** > Search for `Campaign Monitor` > `Settings` > `Use your credentials` > `Callback Url` > Copy it.
5. In the app registration in Campaign Monitor, provide your app `Name`, `Description` , `Logo`, `Home page URL` and paste the Callback URL that you copied in `Redirect URL` field. Click on `Register`.
6. Click on `View` for the app that you created and copy the `Client ID` and `Client Secret` displayed.

<img height="200" src="https://mintcdn.com/cobalt-55/YZVVpdFwo8NtLV-a/images/Campaignmonitor/cm_credentials.png?fit=max&auto=format&n=YZVVpdFwo8NtLV-a&q=85&s=98b902efeed9637a89565969e25080e3" alt="Getting Credentials" data-path="images/Campaignmonitor/cm_credentials.png" />

#### Configuring credentials in Refold

App settings page lets you configure the authentication settings for an `OAuth 2.0` based application. For your customers to provide you authorization to access their data,
they would first need to install your application. This page lets you set up your application credentials.

<img height="200" src="https://mintcdn.com/cobalt-55/YZVVpdFwo8NtLV-a/images/Campaignmonitor/cm_cobalt.png?fit=max&auto=format&n=YZVVpdFwo8NtLV-a&q=85&s=14a35081c5db6c7c167b3276d7998441" alt="Setting up application client credentials" data-path="images/Campaignmonitor/cm_cobalt.png" />

Provide the acquired Client ID and Client Secret under Settings of the app and save it.

#### Configuring Scopes

Refold lets you configure what permissions to ask from your users while they install your application. The scopes can be added or removed from the App settings page, under `Permissions & Scopes`
section.

For some applications Refold sets mandatory scopes which cannot be removed. Additional scopes can be selected from the drop down. Refold also has the provision to add any
custom scopes supported by the respective platform.

<img height="200" src="https://mintcdn.com/cobalt-55/YZVVpdFwo8NtLV-a/images/Campaignmonitor/cm_scopes.png?fit=max&auto=format&n=YZVVpdFwo8NtLV-a&q=85&s=52d8a13f65d8e7c5441280b3c5fb0ba3" alt="OAuth Scopes" data-path="images/Campaignmonitor/cm_scopes.png" />

Once the scopes has been added to the application in Refold, the app will now request for access of the mentioned scopes.

<Warning>
  If you are facing scopes missing or invalid scope error. Make sure you are not passing any custom scope not supported by the platform.
</Warning>

#### Actions and triggers

Once the above setup is completed, you can create orchestrations of your use-cases using Campaign Monitor actions and triggers. Following are the set of Campaign Monitor actions and triggers
supported by Refold.

<Tabs>
  <Tab title="Actions">
    <AccordionGroup>
      <Accordion title="Campaign">
        1. **Create Draft Campaign** - Create a draft campaign in Campaign Monitor.
        2. **Delete Campaign** - Delete a campaign in Campaign Monitor.
        3. **Send Draft Campaign** - Send a draft campaign in Campaign Monitor.
        4. **Get Campaign** - Get campaign summary in Campaign Monitor.
      </Accordion>

      <Accordion title="Client">
        5. **Create Client** - Create a new client in Campaign Monitor.
        6. **Get Client** - Get client details in Campaign Monitor.
        7. **Get Client Segments** - Get all segments of a client in Campaign Monitor.
      </Accordion>

      <Accordion title="List">
        8. **Create New List For Client** - Create a new list for subscribers in Campaign Monitor.
        9. **Get Segments For List** - Get all segments for a specific list in Campaign Monitor.
        10. **Delete Subscriber List** - Delete a subscriber list in Campaign Monitor.
        11. **Update List** - Update a list in Campaign Monitor.
        12. **Get Lists Of Client** - Get lists for an email address in Campaign Monitor.
        13. **Get Suppression List** - Get client suppression list in Campaign Monitor.
      </Accordion>

      <Accordion title="Person">
        14. **Add Person** - Add a person to the client in Campaign Monitor.
        15. **Update Person** - Update a person in the client in Campaign Monitor.
        16. **Get People** - Get a list of all people associated with a client in Campaign Monitor.
      </Accordion>

      <Accordion title="Segment">
        17. **Create Segment** - Create a new segment for a specific list in Campaign Monitor.
        18. **Update Segment** - Update an existing segment in Campaign Monitor.
        19. **Get Segment Details** - Get details of a segment in Campaign Monitor.
        20. **Add Segment Rule Group** - Add a new rule group to an existing segment in Campaign Monitor.
      </Accordion>

      <Accordion title="Others">
        21. **HTTP Request** - Make HTTP API calls to any Campaign Monitor documented REST APIs.
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="Triggers">
    1. **List Subscribed** - Triggers when a list is subscribed to in Campaign Monitor.
    2. **List Updated** - Triggers when a list is updated on Campaign Monitor.
    3. **List Deactivated** - Triggers when a list is deactivated on Campaign Monitor.
  </Tab>
</Tabs>
