Skip to main content
Glama

mcp-google-sheets

index.ts1.91 kB
import { createPiece, PieceAuth } from '@activepieces/pieces-framework'; import { createCustomApiCallAction, HttpMethod, } from '@activepieces/pieces-common'; import { createLead } from './lib/actions/create-lead'; import { findLead } from './lib/actions/find-lead'; import { newLeadAdded } from './lib/triggers/new-lead-added'; import { createOpportunity } from './lib/actions/create-opportunity'; import { createContact } from './lib/actions/create-contact'; import { newContactAdded } from './lib/triggers/new-contact-added'; import { findContact } from './lib/actions/find-contact'; import { CLOSE_API_URL, closeApiCall } from './lib/common/client'; import { newOpportunityAdded } from './lib/triggers/new-opportunity'; export const closeAuth = PieceAuth.SecretText({ displayName: 'API Key', description: 'Your Close CRM API key for authentication.', required: true, validate: async ({ auth }) => { try { await closeApiCall({ accessToken: auth as string, method: HttpMethod.GET, resourceUri: '/me/', }); return { valid: true }; } catch { return { valid: false, error: 'Invalid API key.', }; } }, }); export const close = createPiece({ displayName: 'Close', description: 'Sales automation and CRM integration for Close', auth: closeAuth, minimumSupportedRelease: '0.36.1', logoUrl: 'https://cdn.activepieces.com/pieces/close.png', authors: ['Ani-4x', 'kishanprmr'], actions: [ createLead, createContact, findLead, createOpportunity, findContact, createCustomApiCallAction({ baseUrl: () => CLOSE_API_URL, auth: closeAuth, authMapping: async (auth) => { return { Authorization: `Basic ${Buffer.from(`${auth}:`).toString('base64')}`, }; }, }), ], triggers: [newLeadAdded, newContactAdded, newOpportunityAdded], });

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