Skip to main content
Glama

mcp-google-sheets

email-Clicked.ts2.4 kB
import { Property, createTrigger, TriggerStrategy } from '@activepieces/pieces-framework'; import { emailOctopusProps } from '../common/props'; import { emailOctopusAuth } from '../common/auth'; import { MarkdownVariant } from '@activepieces/shared'; interface EmailOctopusEvent { type: string; id: string; contact_email_address: string; campaign_id?: string; list_id?: string; contact_id?: string; occurred_at?: string; } export const emailClicked = createTrigger({ auth: emailOctopusAuth, name: 'emailClicked', displayName: 'Email Clicked', description: 'Triggers when a link inside a specific campaign email is clicked.', props: { campaign_id: emailOctopusProps.campaignId(), liveMarkdown: Property.MarkDown({ value: ` **Live URL:** \`\`\`text {{webhookUrl}} \`\`\``, variant: MarkdownVariant.BORDERLESS, }), instructions: Property.MarkDown({ value: ` **Manual Setup Required** 1. Go to your EmailOctopus Dashboard. 2. Navigate to **API & Integrations** → **Webhooks**. 3. Click **Add webhook**. 4. Paste the Above URL into the **URL** field: 5. Select the **Email clicked** event. 6. (Optional) Choose the campaign you want to filter on in this trigger. 7. Save the webhook. `, }), }, sampleData: { id: '42636763-73f9-463e-af8b-3f720bb3d889', type: 'contact.clicked', list_id: 'fa482fa2-5ac4-11ed-9f7a-67da1c836cf8', contact_id: 'e3ab8c80-5f65-11ed-835e-030e4bb63150', occurred_at: '2022-11-18T15:20:23+00:00', contact_email_address: 'user@example.com', campaign_id: '12345678-1234-1234-1234-123456789abc', }, type: TriggerStrategy.WEBHOOK, async onEnable() { return; }, async onDisable() { return; }, async run(context) { const events = context.payload.body; const campaignIdFilter = context.propsValue.campaign_id; if (Array.isArray(events)) { return events.filter( (event: EmailOctopusEvent) => event.type === 'contact.clicked' && (!campaignIdFilter || event.campaign_id === campaignIdFilter) ); } if ( (events as EmailOctopusEvent)?.type === 'contact.clicked' && (!campaignIdFilter || (events as EmailOctopusEvent).campaign_id === campaignIdFilter) ) { return [events]; } return []; }, });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server