PHPackages                             bright-cloud-studio/constant-contact-integration - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. bright-cloud-studio/constant-contact-integration

ActiveContao-module[API Development](/categories/api)

bright-cloud-studio/constant-contact-integration
================================================

Establish a connection between Contao and Constant Contact. Set up forms to automatically create Contacts and add them to Lists

1.1.2(3y ago)07LGPL-3.0-or-laterPHPPHP ^8.0

Since Jan 3Pushed 3y ago1 watchersCompare

[ Source](https://github.com/bright-cloud-studio/constant-contact-integration)[ Packagist](https://packagist.org/packages/bright-cloud-studio/constant-contact-integration)[ Docs](http://brightcloudstudio.com/)[ RSS](/packages/bright-cloud-studio-constant-contact-integration/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

Bright Cloud Studio's Constant Contact Integration
==================================================

[](#bright-cloud-studios-constant-contact-integration)

This package will establish a connection to the Constant Contact API from Contao, allow you to link a Contao Form to a Constant Contact List and Contao Form Fields to Constant Contact Fields. You can either check an option for a form with implied permission, like a simple form with just an email field and a submit button, or express permission by adding a checkbox to your form. Follow the directions below to get started.

NOTE: To keep your OAuth2 connection alive you will need to disable the default Contao Cron system in the Settings page by checking the "Disable the command scheduler" option and manually set up a cron call using the Web URL on your server. For more information check the Contao Manual here:

First, activate the "Disable the command scheduler" option in Contao's Settings page

[![Disable Cron in Contao](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/warning_1.jpg)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/warning_1.jpg)

Then, manually set up a Cron job to Contao's cron URl and have it trigger minutely. Your OAuth2 keys will refresh hourly.

[![Manual Cron](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/warning_2.jpg)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/warning_2.jpg)

Setup Directions
----------------

[](#setup-directions)

- Step One: First things first, you will need to establish a connection with Constant Contact. To do this you will need to set up a page specifically for authorizing the connection. On Contao, set up a page for this purpose and copy its' unique URL. This will be our Redirect URL.

[![Get our Redirect URL](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_1.png)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_1.png)

- Step Two: After creating a developer account for Constant Contact, we need to set up our Application. Create a new app, for "Application OAuth2 Settings" select the option "Authorization Code Flow and Implicit Flow" and for refresh token type choose "Rotating Refresh Token". Use the Redirect URL we got from Step One. Copy our API Key, Secret and Redirect URL and move onto Step Three.

[![Create our Application](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_2.png)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_2.png)

- Step Three: Within Contao, create a new "Constant Contact - Authorize" frontend module and fill in the API Key, Secret and Redirect URL.

[![Authorize Module](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_3.png)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_3.png)

- Step Four: Add the newly created frontend module to the authorize page we set up previously, then view that page. Once you view the page a link titled "Click here to finalize connection" will show, click it. If everything went as expected a message "You have successfully established a connection with the Constant Contact API" will display. To confirm everything worked, in your servers file browser navigate to the "public\_html\\web" folder and you should find two newly created files "token\_access.txt" and "token\_refresh.txt".

[![Authorization Confirmation](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_4.jpg)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_4.jpg)

Congradulations! You have successfully connected your Contao installation with the Constant Contact API.
--------------------------------------------------------------------------------------------------------

[](#congradulations-you-have-successfully-connected-your-contao-installation-with-the-constant-contact-api)

Now that you have successfully established your connection, let me explain how to use it.

- Step One: In the Contao Backend, when viewing the Settings page for a Form you will see two new options towards the bottom of the page.

[![Form Settings](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_5.jpg)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_5.jpg)

The first is "Contact List", this will select which Contact List the data will be added to. Select the list you wish to create a new contact in.

Second is "Implied Permission". This option is for forms that make it clear the user is signing up to be emailed. Select "Yes" if your form doesn't have a checkbox for the user to choose to be added to a mailing list.

- Step Two: Now, when viewing a Settings page for a Form Field you will find a new option "Linked Field"

[![Linked Field](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_6.jpg)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_6.jpg)

This will link the form field to a Constant Contact field. Whichever field you select, that is where this form field's data will be entered within Constant Contact.

- Step Four (Optional): In the event you selected "No" for the "Implied Permission" option, you will need to add a checkbox so the user can give you express permission to be added to a mailing list. So, when you add a Checkbox form field a new option "Express Permission" will be shown. Activate the option if you do not have implied permission on your form.

[![Linked Field](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_7.jpg)](https://raw.githubusercontent.com/bright-cloud-studio/constant-contact-integration/main/images/step_7.jpg)

That is all for now. View your form on the front end and submit it, then check Constant Contact to make sure your data came over. This is the first release and things aren't as clean or neat as I would like. I will be updating this until it is clean and stable, the code and the directions. For now, get started and have fun.

###  Health Score

22

—

LowBetter than 23% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1222d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/668894e0c020bf33db8ee7e3d1d80f864bb28e5ba7ed444eb9ba8770e9af2041?d=identicon)[BrightCloudStudio](/maintainers/BrightCloudStudio)

---

Top Contributors

[![bright-cloud-studio](https://avatars.githubusercontent.com/u/84467517?v=4)](https://github.com/bright-cloud-studio "bright-cloud-studio (136 commits)")

---

Tags

constant-contactcontaooauth2cloudintegrationcontactconstantstudiobright

### Embed Badge

![Health badge](/badges/bright-cloud-studio-constant-contact-integration/health.svg)

```
[![Health](https://phpackages.com/badges/bright-cloud-studio-constant-contact-integration/health.svg)](https://phpackages.com/packages/bright-cloud-studio-constant-contact-integration)
```

###  Alternatives

[alibabacloud/client

Alibaba Cloud Client for PHP - Use Alibaba Cloud in your PHP project

2223.5M366](/packages/alibabacloud-client)[wordpress/mcp-adapter

Adapter for Abilities API, letting WordPress abilities to be used as MCP tools, resources or prompts

74855.8k1](/packages/wordpress-mcp-adapter)[adobe-marketing-cloud/marketing-cloud-php-sdk

An Object Oriented wrapper for the Adobe Marketing Cloud APIs

37268.6k1](/packages/adobe-marketing-cloud-marketing-cloud-php-sdk)[phpfui/constantcontact

Object Oriented Wrapper for Constant Contact API V3 for PHP 8+

2015.7k1](/packages/phpfui-constantcontact)[opencoconut/coconut

Coconut is a Cloud Video Encoding Service built for developers

17482.5k2](/packages/opencoconut-coconut)[rustici-software/scormcloud-api-v2-client-php

20253.2k](/packages/rustici-software-scormcloud-api-v2-client-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
