Skip to main content
Glama

mcp-google-sheets

send-dynamic-template.ts2.09 kB
import { createAction, Property } from '@activepieces/pieces-framework'; import { HttpMethod, AuthenticationType, httpClient, } from '@activepieces/pieces-common'; import { sendgridCommon } from '../common'; import { sendgridAuth } from '../..'; export const sendDynamicTemplate = createAction({ auth: sendgridAuth, name: 'send_dynamic_template', displayName: 'Send Dynamic Template', description: 'Send an email using a dynamic template', props: { to: Property.Array({ displayName: 'To', description: 'Emails of the recipients', required: true, }), from_name: Property.ShortText({ displayName: 'From (Name)', description: 'Sender name', required: false, }), from: Property.ShortText({ displayName: 'From (Email)', description: 'Sender email, must be on your SendGrid', required: true, }), template_id: Property.ShortText({ displayName: 'Template Id', description: 'Dynamic template id', required: true, }), template_data: Property.Json({ displayName: 'Template Data', description: 'Dynamic template data', required: true, }), reply_to: Property.ShortText({ displayName: 'Reply To', description: 'Email to receive replies on (defaults to sender)', required: false, }), }, async run(context) { const { to, from, template_id, template_data, reply_to, from_name } = context.propsValue; const message = { personalizations: to.map((email) => ({ to: [{ email: (email as string).trim() }], dynamic_template_data: template_data, })), from: { email: from, name: from_name }, reply_to: { email: reply_to ?? from }, template_id, }; await httpClient.sendRequest({ method: HttpMethod.POST, url: `${sendgridCommon.baseUrl}/mail/send`, body: message, authentication: { type: AuthenticationType.BEARER_TOKEN, token: context.auth, }, queryParams: {}, }); return { success: true, }; }, });

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