Skip to main content
Glama

mcp-google-sheets

create-board.ts2.44 kB
import { createAction, Property, OAuth2PropertyValue, } from '@activepieces/pieces-framework'; import { makeRequest } from '../common'; import { pinterestAuth } from '../common/auth'; import { HttpMethod, getAccessTokenOrThrow } from '@activepieces/pieces-common'; import { adAccountIdDropdown } from '../common/props'; export const createBoard = createAction({ auth: pinterestAuth, name: 'createBoard', displayName: 'Create Board', description: 'Create a new Pinterest board for organizing Pins.', props: { ad_account_id: adAccountIdDropdown, name: Property.ShortText({ displayName: 'Board Name', required: true, description: 'The name of the board (max 180 characters).', }), description: Property.LongText({ displayName: 'Description', required: false, description: 'Optional description for your board.', }), privacy: Property.StaticDropdown({ displayName: 'Privacy', required: false, defaultValue: 'PUBLIC', options: { options: [ { label: 'Public', value: 'PUBLIC' }, { label: 'Protected', value: 'PROTECTED' }, { label: 'Secret', value: 'SECRET' }, ], }, description: 'Board privacy setting (auto-set to "PROTECTED" for ad-only boards).', }), is_ads_only: Property.Checkbox({ displayName: 'Ads Only Board', description: 'Create an ad-only board that can only store promotional Pins. Note: Board name will become "Ad-only Pins" and privacy will be set to "PROTECTED".', defaultValue: false, required: false, }), }, async run({ auth, propsValue }) { const { ad_account_id, name, description, privacy, is_ads_only } = propsValue; // Validation if (name && name.length > 180) { throw new Error('Board name must be 180 characters or less'); } if (description && description.length > 500) { throw new Error('Board description must be 500 characters or less'); } const body: any = { name, is_ads_only, }; if (description) body.description = description; if (privacy) body.privacy = privacy; let path = '/boards'; if (ad_account_id) { path = `/boards?ad_account_id=${encodeURIComponent(ad_account_id)}`; } return await makeRequest( getAccessTokenOrThrow(auth), HttpMethod.POST, path, 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