Skip to main content
Glama

mcp-google-sheets

new-lead.ts2.08 kB
import { TriggerStrategy, createTrigger } from '@activepieces/pieces-framework'; import { facebookLeadsCommon } from '../common'; import { facebookLeadsAuth } from '../..'; import { FacebookTriggerPayloadBody, FacebookPageDropdown } from '../common/types'; export const newLead = createTrigger({ auth: facebookLeadsAuth, name: 'new_lead', displayName: 'New Lead', description: 'Triggers when a new lead is created.', type: TriggerStrategy.APP_WEBHOOK, sampleData: {}, props: { page: facebookLeadsCommon.page, form: facebookLeadsCommon.form, }, async onEnable(context) { const page = context.propsValue['page'] as FacebookPageDropdown; await facebookLeadsCommon.subscribePageToApp(page.id, page.accessToken); context.app.createListeners({ events: ['lead'], identifierValue: page.id }); }, async onDisable() { // }, async test(context) { let form = context.propsValue.form as string; const page = context.propsValue.page as FacebookPageDropdown; if (form == undefined || form == '' || form == null) { const forms = await facebookLeadsCommon.getPageForms(page.id, page.accessToken); form = forms[0].id; } const response = await facebookLeadsCommon.loadSampleData(form, context.auth.access_token); return response.data.map((lead) => facebookLeadsCommon.transformLeadData(lead)); }, //Return new lead async run(context) { let leadPings: any[] = []; const leads: any[] = []; const form = context.propsValue.form; const payloadBody = context.payload.body as FacebookTriggerPayloadBody; if (form !== undefined && form !== '' && form !== null) { for (const lead of payloadBody.entry) { if (form == lead.changes[0].value.form_id) { leadPings.push(lead); } } } else { leadPings = payloadBody.entry; } for (const lead of leadPings) { const leadData = await facebookLeadsCommon.getLeadDetails( lead.changes[0].value.leadgen_id, context.auth.access_token, ); const transformLead = facebookLeadsCommon.transformLeadData(leadData); leads.push(transformLead); } return leads; }, });

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