Skip to main content
Glama

mcp-google-sheets

find-campaign.ts2.17 kB
import { createAction, Property } from '@activepieces/pieces-framework'; import { getAccessTokenOrThrow } from '@activepieces/pieces-common'; import { mailchimpCommon } from '../common'; import { mailchimpAuth } from '../..'; import mailchimp from '@mailchimp/mailchimp_marketing'; import { MailchimpClient, CampaignGetOptions } from '../common/types'; export const findCampaign = createAction({ auth: mailchimpAuth, name: 'find_campaign', displayName: 'Find Campaign', description: 'Search all campaigns for the specified query terms', props: { query: Property.ShortText({ displayName: 'Search Query', description: 'Search terms to find campaigns', required: true, }), fields: Property.LongText({ displayName: 'Fields', description: 'Comma-separated list of fields to return', required: false, }), exclude_fields: Property.LongText({ displayName: 'Exclude Fields', description: 'Comma-separated list of fields to exclude', required: false, }), }, async run(context) { const accessToken = getAccessTokenOrThrow(context.auth); const server = await mailchimpCommon.getMailChimpServerPrefix(accessToken); const client = mailchimp as unknown as MailchimpClient; client.setConfig({ accessToken: accessToken, server: server, }); try { const searchParams: any = { query: context.propsValue.query, }; if (context.propsValue.fields) { searchParams.fields = context.propsValue.fields.split(',').map(f => f.trim()); } if (context.propsValue.exclude_fields) { searchParams.exclude_fields = context.propsValue.exclude_fields.split(',').map(f => f.trim()); } const searchResult = await client.searchCampaigns.search(searchParams); return { success: true, query: context.propsValue.query, results: searchResult.results, total_items: searchResult.total_items, _links: searchResult._links, }; } catch (error: any) { throw new Error(`Failed to search campaigns: ${error.message || JSON.stringify(error)}`); } }, });

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