index.ts•1.29 kB
import { createCustomApiCallAction } from '@activepieces/pieces-common';
import {
OAuth2PropertyValue,
PieceAuth,
createPiece,
} from '@activepieces/pieces-framework';
import { PieceCategory } from '@activepieces/shared';
import { createOrUpdateContact } from './lib/actions/create-or-update-contact';
export const constantContactAuth = PieceAuth.OAuth2({
required: true,
tokenUrl: 'https://authz.constantcontact.com/oauth2/default/v1/token',
authUrl: 'https://authz.constantcontact.com/oauth2/default/v1/authorize',
scope: ['contact_data'],
});
export const constantContact = createPiece({
displayName: 'Constant Contact',
description: 'Email marketing for small businesses',
minimumSupportedRelease: '0.30.0',
logoUrl: 'https://cdn.activepieces.com/pieces/constant-contact.png',
categories: [PieceCategory.MARKETING],
authors: ["kishanprmr","MoShizzle","khaledmashaly","abuaboud"],
auth: constantContactAuth,
actions: [
createOrUpdateContact,
createCustomApiCallAction({
baseUrl: () => 'https://api.cc.email/v3', // Replace with the actual base URL
auth: constantContactAuth,
authMapping: async (auth) => ({
Authorization: `Bearer ${(auth as OAuth2PropertyValue).access_token}`,
}),
}),
],
triggers: [],
});