Let's build something great together

When you build integrations with ActiveCampaign, you can have a positive impact on small businesses across the world. This is where you can find ActiveCampaign API documentation, SDKs, support, and a community of developers like you.

Get Started    

Example Configuration

Below are two example configuration files. Depending on the need for inbound/outbound capabilities, parts of the configuration can be optional. Refer to the Configuration Walkthrough on how to modify this file to set up your integration.

Example Inbound Configuration

{
  "$version": "2",
  "api": {
    "auth": "oauth2",
    "base_url": "CHANGEME",
    "pagination": {
      "style": {
        "type": "limitoffset",
        "limit": {
          "param": "limit",
          "value": 50
        },
        "offset": {
          "param": "offset",
          "value": 0
        }
      },
      "parser": {
        "total_items": {
          "!jmespath": "total_items"
        }
      }
    }
  },
  "auth": {
    "my_oauth2_configuration": {
      "type": "oauth2",
        "configuration": {
        "authorization_base_url": "https://api.example.com/oauth2/authorize",
        "client_id" : "woef2qo3hefawWEWrfh2qe21wlvdflkefnqs",
        "client_secret": "[insert your secret here]",
        "scopes": ["insert_scope_here_if_needed"],
        "token_url": "https://api.example.com/oauth/token",
        "refresh_url": "https://api.example.com/oauth/authorize"
        },
    }
  },
  "data_intake": [
    {
      "name": "CHANGEME",
      "type": "webhook",
      "scope": "CHANGEME",
      "create": {
        "!http": {
          "body": {
            "enabled": true,
            "url": "${webhook::url}"
          },
          "method": "PUT",
          "path": "CHANGEME"
        }
      },
      "delete": {
        "!http": {
          "method": "DELETE",
          "path": "CHANGEME"
        }
      }
    }
  ],
  "workflows": [
    {
      "label": "CHANGEME",
      "name": "CHANGEME",
      "data_intake": "DATAINTAKENAME",
      "auth": "my_oauth2_configuration",
      "type": "generic",
      "setup": {
        "connect": {
          "label": "Connect",
          "describe_connection": {
            "!pipe": [
              {
                "!http": {
                  "method": "GET",
                  "path": "CHANGEME"
                }
              },
              {
                "!jq": "CHANGEME"
              }
            ]
          }
        },
        "select": {
          "label": "CHANGEME",
          "description": "CHANGEME",
          "form_fields": [
            {
              "label": "CHANGEME",
              "type": "dropdown",
              "id": "CHANGEME",
              "placeholder": "CHANGEME",
              "options": {
                "!pipe": [
                  {
                    "!http": {
                      "method": "GET",
                      "path": "CHANGEME"
                    }
                  },
                  {
                    "!jq": "CHANGEME"
                  }
                ]
              }
            }
          ]
        },
        "map": {
          "label": "CHANGEME",
          "describe_source": {
            "label": "CHANGEME",
            "options": {
              "!pipe": [
                {
                  "!http": {
                    "method": "GET",
                    "path": "CHANGEME"
                  }
                },
                {
                  "!jq": "CHANGEME"
                }
              ]
            }
          },
          "describe_target": {
            "label": "ActiveCampaign",
            "options": {
              "!resource": "ActiveCampaignContact.fields"
            }
          }
        }
      },
      "data_pipeline": {
        "source": {
          "!jq": "CHANGEME"
        },
        "target": {
          "!resource": "ActiveCampaignContact"
        }
      }
    }
  ]
}

Example Outbound Configuration

{
  "$version": "2",
  "api": {
    "auth": "oauth2",
    "base_url": "CHANGEME",
    "pagination": {
      "style": {
        "type": "limitoffset",
        "limit": {
          "param": "limit",
          "value": 50
        },
        "offset": {
          "param": "offset",
          "value": 0
        }
      },
      "parser": {
        "total_items": {
          "!jmespath": "total_items"
        }
      }
    }
  },
  "auth": {
    "my_basic_auth": {
      "type": "basic",
      "verify_url": "api.example.com/ping",
      "defined_fields": {
        "username": {
          "label": "Email",
          "placeholder": "Enter Email for Your Account",
          "help_text": "This is the email used to register your account"
        },
        "password": {
          "label": "Secret",
          "placeholder": "Enter Your Account Secret/Password",
          "help_text": "If you don't know your password, you can request a reset here: https://account.example.com/forgot"
        }
      }
    }
  },
  "workflows": [
    {
      "label": "CHANGEME",
      "name": "CHANGEME",
      "description": "CHANGEME",
      "type": "automations",
      "auth": "my_basic_auth",
      "setup": {
        "connect": {
          "label": "Connect",
          "describe_connection": {
            "!pipe": [
              {
                "!http": {
                  "method": "GET",
                  "path": "CHANGEME"
                }
              },
              {
                "!jq": "CHANGEME"
              }
            ]
          }
        },
        "select": {
          "label": "CHANGEME",
          "form_fields": [
            {
              "label": "CHANGEME",
              "id": "CHANGEME",
              "type": "dropdown",
              "placeholder": "CHANGEME",
              "options": {
                "!pipe": [
                  {
                    "!http": {
                      "method": "GET",
                      "path": "CHANGEME"
                    }
                  },
                  {
                    "!jq": "CHANGEME"
                  }
                ]
              }
            },
            {
              "label": "CHANGEME",
              "id": "CHANGEME",
              "type": "dropdown",
              "placeholder": "CHANGEME",
              "options": {
                "!pipe": [
                  {
                    "!http": {
                      "method": "GET",
                      "url": "CHANGEME"
                    }
                  },
                  {
                    "!jq": "CHANGEME"
                  }
                ]
              }
            }
          ]
        },
        "map": {
          "label": "CHANGEME",
          "describe_source": {
            "label": "ActiveCampaign",
            "options": {
              "!resource": "ActiveCampaignContact.fields"
            }
          },
          "describe_target": {
            "label": "CHANGEME",
            "options": {
              "!jq": "CHANGEME"
            }
          }
        }
      },
      "data_pipeline": {
        "source": {
          "!resource": "ActiveCampaignContact"
        },
        "target": {
          "!pipe": [
            "CHANGEME"
          ]
        }
      }
    }
  ]
}

Updated 7 days ago

Example Configuration


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.