# ActiveCampaign

This integration provides a form picker and rendering component for forms managed within an ActiveCampaign CRM: Customer Relationship Management account.

## Package Links

* [NuGet install](https://www.nuget.org/packages/Umbraco.Cms.Integrations.Crm.ActiveCampaign)
* [Source code](https://github.com/umbraco/Umbraco.Cms.Integrations/tree/main/src/Umbraco.Cms.Integrations.Crm.ActiveCampaign)
* [Umbraco marketplace listing](https://marketplace.umbraco.com/package/umbraco.cms.integrations.crm.activecampaign)

## Minimum version requirements

To ensure compatibility, check the **Dependencies** tab on NuGet for the required Umbraco CMS version. For example, see [Umbraco.Cms.Integrations.Crm.ActiveCampaign](https://www.nuget.org/packages/Umbraco.Cms.Integrations.Crm.ActiveCampaign#dependencies-body-tab).

## Authentication

All requests to the ActiveCampaign API are authenticated by providing an API key. The API key is included as an HTTP header called *Api\_Token*.

If the configuration is incomplete, the user will receive an error message.

## Configuration

To connect to your ActiveCampaign account, the following configuration is required:

{% code title="appsettings.json" %}

```json
"Umbraco": {
  "CMS": {
    "Integrations": {
        "Crm": {
          "ActiveCampaign": {
            "Settings": {
              "BaseUrl": "https://[YOUR_ACCOUNT_NAME].api-us1.com",
              "ApiKey": "[YOUR_API_KEY]"
            }
          }
        }
      }
```

{% endcode %}

## Backoffice usage

To use the form picker, a new Data Type needs to be created based on the ActiveCampaign Form Picker property editor.

The settings in `appsettings.json` will be used for sending the required HTTP header for authorization, and for retrieving the account name used for rendering the form.

## Front-end rendering

A strongly typed model will be generated by the property value converter. An HTML helper is available, to render the form on the front end.

Ensure that your template has a reference to the following using statement:

```csharp
@using Umbraco.Cms.Integrations.Crm.ActiveCampaign.Core.Helpers;
```

Assuming a property based on the created Data Type with the alias `activeCampaignForm` has been created, render the form using:

```csharp
@Html.RenderActiveCampaignForm(Model.ActiveCampaignForm)
```
