Constant Contact v2
Provides integration with Constant Contact to query and manage contacts, lists, campaigns, activities, and other supported account resources through the V3 API.
Revision History
0.0.1.9 - Initial release.
Connection
Use this Connection to store the application credentials and account authorization used by all Constant Contact Methods.
| Property | Type | Description |
|---|---|---|
ClientId |
String | Required identifier of your registered Constant Contact application. |
ClientSecret |
Masked | Required application secret. |
AccessToken |
Masked | Access token generated when you connect your account. |
RefreshToken |
Masked | Refresh token used to renew account access. Reconnect if the refresh grant is rejected. |
Scopes |
String | Required space-separated authorization scopes. Defaults to account_read contact_data campaign_data offline_access. Include offline_access for token renewal and the scopes required by your selected operations. |
BaseUrl |
String | Must be https://api.cc.email/v3, which is also the default. Other API URLs are rejected. |
Setup Notes
- Register a Constant Contact application and obtain its client identifier and secret.
- Register the Flowgear OAuth callback URL with the application. Use an HTTPS callback URL; HTTP is accepted only for loopback development.
- Create a
Constant ContactConnection and enterClientId,ClientSecret, and the requiredScopes. - Complete OAuth authorization for the Constant Contact account.
- Save and test the Connection.
The Connection test reads account privileges. It does not change account data or send email. Template selection does not test credentials or account permissions.
Authorization attempts expire after ten minutes. Start a new attempt if authorization expires or the callback configuration or client identifier changes. Reconnect with the appropriate consent if you need additional scopes; refreshing a token does not grant new permissions.
Methods
Select an operation template for the Method you need. The template populates OperationId and exposes the operation's route and query values in Options, request body fields in Items where applicable, and expected response fields. Use the template-selected identifier rather than the provider's textual operation name.
Query
Reads supported account resources using GET operations, including contacts, lists, tags, custom fields, campaigns, activity status, segments, events, and reporting. The Node handles supported paging automatically.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Constant Contact account Connection. |
OperationId |
String | Required template-selected identifier for a Query operation. |
Options |
Object | Declared route and query values. Supply all values required by the selected template. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Provider-shaped response rows. Contacts, lists, tags, custom fields, campaigns, and activity-status collections return one row per member. Other collection operations can return one envelope per page, retaining collection fields and totals. CSV export content is returned in Content. Query rows do not include mutation metadata. |
Valid empty collections return no rows. A documented no-content response also returns no rows. An unexpected empty or malformed response fails the Node.
Create
Runs supported POST operations, including creating contacts, lists, custom fields, campaign drafts, bulk activities, and other account resources. Operations with a request body send one request per Items row.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Constant Contact account Connection. |
OperationId |
String | Required template-selected identifier for a Create operation. |
Options |
Object | Declared route and query values for the selected operation. |
Items |
Array | Request objects matching the selected template. Required for operations with a request body; omit it for bodyless operations. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per request, preserving provider fields and adding Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. |
Contact creation requires create_source and a name, email_address object, or sms_channel. Supply consent values deliberately; the Node does not default them. Custom-field creation requires label, type, and the metadata or choices applicable to the field.
Campaign draft creation requires exactly one email_campaign_activities object using custom HTML with format_type set to 5. Include [[trackingImage]] in html_content and use confirmed sender and reply-to addresses.
Update
Runs supported PUT and PATCH operations to update account resources. Check the selected operation's semantics before submitting a replacement request.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Constant Contact account Connection. |
OperationId |
String | Required template-selected identifier for an Update operation. |
Options |
Object | Declared route and query values, including required resource identifiers. The same values apply to every input row. |
Items |
Array | Update request objects matching the selected template. Required for operations with a request body; omit it for bodyless operations. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per request, preserving provider fields and adding Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. |
Contact PUT replaces contact values. Omitted scalar values can be cleared, while omitted subresources follow Constant Contact's preservation rules. When renaming a list with PUT, include its current favorite value even if the template marks it optional.
Delete
Deletes the resource identified by the selected template and Options. It runs once and does not accept Items.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Constant Contact account Connection. |
OperationId |
String | Required template-selected identifier for a Delete operation. |
Options |
Object | Declared route and query values identifying the resource to delete. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result containing any provider response fields and Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. The request records the supplied Options. |
List and tag deletion can return an accepted asynchronous activity. Use Query to check activity status; acceptance does not establish completion.
Action
Schedules a campaign activity, cancels its schedule, or sends an explicitly requested test email.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | Constant Contact account Connection. |
OperationId |
String | Required template-selected identifier for an Action operation. |
Options |
Object | Declared route and query values identifying the campaign activity. |
Items |
Array | Scheduling or test-send request objects. Omit it for a bodyless cancellation operation. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per request with provider fields and Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. Schedule response arrays are grouped under Schedules. Bodyless requests record Options. |
Use scheduled_date set to the string "0" for immediate sending. Test-send requests accept at most five recipients. A successful response does not confirm email delivery, and the Node does not poll for completion.
Usage Notes
- Use the selected template's exact provider field names. Unknown
Optionsand paging controls are rejected. Do not supplylimit,cursor, orinclude_count; paginated operations also reservepage,page_size,offset,next, andprev. - String and integer collections use CSV strings in templates and response fields. Quote values containing commas, quotes, or line breaks, and double embedded quotes. An empty string represents an empty collection;
""represents one empty string. Object arrays remain structured. Omitted and null values retain their distinct meanings. - Fields representing provider-defined JSON or recursive automation structures use JSON text. Supply valid JSON text for these fields; the Node converts it to JSON before sending the request.
Queryfetches the first page when the Method starts and later pages as the output is consumed. Operations with request bodies send the first input row when the Method starts and later rows as output is consumed. An empty connectedItemsinput sends no requests.- Inspect
Flowgear.IsSuccessfor write results. Business rejections produce failed rows and allow later input rows to continue. Setup, authentication, and transport failures stop execution. An invalid first input fails the Node; later invalid inputs produce failed rows. Flowgear.Requestpreserves the original input row before CSV or JSON conversion. Bodyless writes run once and record theirOptionsinstead.- Sequential requests within one invocation are paced below four requests per second. Concurrent Workflows must also respect Constant Contact account limits. Short, explicit throttling can be retried within a bounded budget; daily quota exhaustion and ambiguous write failures stop execution.