Skip to main content
Glama

mcp-google-sheets

invitee-created.trigger.ts3.17 kB
import { TriggerStrategy, createTrigger } from '@activepieces/pieces-framework'; import { HttpRequest, HttpMethod, AuthenticationType, httpClient, } from '@activepieces/pieces-common'; import { calendlyCommon, CalendlyWebhookInformation } from '../common'; import { calendlyAuth } from '../../'; const triggerNameInStore = 'calendly_invitee_created_trigger'; export const calendlyInviteeCreated = createTrigger({ auth: calendlyAuth, name: 'invitee_created', displayName: 'Event Scheduled', description: 'Triggers when a new Calendly event is scheduled', props: { scope: calendlyCommon.scope, }, sampleData: { created_at: '2023-01-29T13:50:13.000000Z', created_by: 'https://api.calendly.com/users/AAAAAAAAAAAA', payload: { cancel_url: 'https://calendly.com/cancellations/AAAAAAAAAAA', created_at: '2023-01-29T13:50:13.072950Z', email: 'abdulyki@activepieces.com', event: 'https://api.calendly.com/scheduled_events/AAAAAAAAAAAA', first_name: null, last_name: null, name: 'abdul', new_invitee: null, no_show: null, old_invitee: null, payment: null, questions_and_answers: [], reconfirmation: null, reschedule_url: 'https://calendly.com/reschedulings/AAAAAAAAAAAA', rescheduled: false, routing_form_submission: null, status: 'active', text_reminder_number: null, timezone: 'Asia/Baghdad', updated_at: '2023-01-29T13:50:13.072950Z', uri: 'https://api.calendly.com/scheduled_events/AAAAAAAAAAAaA/invitees/AAAAAAAAAAAA', }, }, type: TriggerStrategy.WEBHOOK, async onEnable(context) { const calendlyUser = await calendlyCommon.getUser(context.auth); const request: HttpRequest = { method: HttpMethod.POST, url: `${calendlyCommon.baseUrl}/webhook_subscriptions`, body: { url: context.webhookUrl, organization: calendlyUser.current_organization, user: calendlyUser.uri, scope: context.propsValue['scope'], events: ['invitee.created'], }, authentication: { token: context.auth, type: AuthenticationType.BEARER_TOKEN, }, queryParams: {}, }; const { body } = await httpClient.sendRequest<{ resource: { uri: string }; }>(request); await context.store?.put<CalendlyWebhookInformation>(triggerNameInStore, { webhookId: calendlyCommon.UuidFromUri(body.resource.uri)!, }); }, async onDisable(context) { const response = await context.store?.get<CalendlyWebhookInformation>( triggerNameInStore ); console.log(response || 'nothing'); if (response !== null && response !== undefined) { const request: HttpRequest = { method: HttpMethod.DELETE, url: `${calendlyCommon.baseUrl}/webhook_subscriptions/${response.webhookId}`, authentication: { token: context.auth, type: AuthenticationType.BEARER_TOKEN, }, }; await httpClient.sendRequest(request); } else { throw Error('context store was null'); } }, async run(context) { return [context.payload.body]; }, });

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