Skip to main content
Glama

mcp-google-sheets

index.ts4.9 kB
import { PieceAuth, Property, createPiece, OAuth2PropertyValue, } from '@activepieces/pieces-framework'; import { PieceCategory } from '@activepieces/shared'; import { createCustomApiCallAction } from '@activepieces/pieces-common'; import { addContactToCampaign } from './lib/action/add-contact-to-campaign'; import { addFileToRecord } from './lib/action/add-file-to-record'; import { addLeadToCampaign } from './lib/action/add-lead-to-campaign'; import { createAttachment } from './lib/action/create-attachment'; import { createCase } from './lib/action/create-case'; import { createContact } from './lib/action/create-contact'; import { createLead } from './lib/action/create-lead'; import { createNote } from './lib/action/create-note'; import { createOpportunity } from './lib/action/create-opportunity'; import { createRecord } from './lib/action/create-record'; import { createTask } from './lib/action/create-task'; import { deleteOpportunity } from './lib/action/delete-opportunity'; import { deleteRecord } from './lib/action/delete-record'; import { findChildRecords } from './lib/action/find-child-records'; import { findRecord } from './lib/action/find-record'; import { findRecordsByQuery } from './lib/action/find-records-by-query'; import { getRecordAttachments } from './lib/action/get-record-attachments'; import { runQuery } from './lib/action/run-sf-query'; import { runReport } from './lib/action/run-report'; import { sendEmail } from './lib/action/send-email'; import { updateContact } from './lib/action/update-contact'; import { updateLead } from './lib/action/update-lead'; import { updateRecord } from './lib/action/update-record'; import { upsertByExternalId } from './lib/action/upsert-by-external-id'; import { upsertByExternalIdBulk } from './lib/action/upsert-by-external-id-bulk'; import { newCaseAttachment } from './lib/trigger/new-case-attachment'; import { newContact } from './lib/trigger/new-contact'; import { newFieldHistoryEvent } from './lib/trigger/new-field-history-event'; import { newLead } from './lib/trigger/new-lead'; import { newOrUpdatedRecord } from './lib/trigger/new-updated-record'; import { newOutboundMessage } from './lib/trigger/new-outbound-message'; import { newRecord } from './lib/trigger/new-record'; import { newUpdatedFile } from './lib/trigger/new-updated-file'; export const salesforceAuth = PieceAuth.OAuth2({ props: { environment: Property.StaticDropdown({ displayName: 'Environment', description: 'Choose environment', required: true, options: { options: [ { label: 'Production', value: 'login', }, { label: 'Development', value: 'test', }, ], }, defaultValue: 'login', }), }, required: true, description: 'Authenticate with Salesforce Production', authUrl: 'https://{environment}.salesforce.com/services/oauth2/authorize', tokenUrl: 'https://{environment}.salesforce.com/services/oauth2/token', scope: ['refresh_token', 'full' ,'api'], }); export const salesforce = createPiece({ displayName: 'Salesforce', description: 'CRM software solutions and enterprise cloud computing', minimumSupportedRelease: '0.30.0', logoUrl: 'https://cdn.activepieces.com/pieces/salesforce.png', authors: [ 'HKudria', 'tanoggy', 'landonmoir', 'kishanprmr', 'khaledmashaly', 'abuaboud', 'Pranith124', ], categories: [PieceCategory.SALES_AND_CRM], auth: salesforceAuth, actions: [ addContactToCampaign, addFileToRecord, addLeadToCampaign, createAttachment, createCase, createContact, createLead, createNote, createOpportunity, createRecord, createTask, deleteOpportunity, deleteRecord, findChildRecords, findRecord, findRecordsByQuery, getRecordAttachments, runQuery, runReport, sendEmail, updateContact, updateLead, updateRecord, upsertByExternalId, upsertByExternalIdBulk, createCustomApiCallAction({ baseUrl: (auth) => (auth as OAuth2PropertyValue).data['instance_url'], auth: salesforceAuth, authMapping: async (auth) => ({ Authorization: `Bearer ${(auth as OAuth2PropertyValue).access_token}`, }), }), ], triggers: [ newCaseAttachment, newContact, newFieldHistoryEvent, newLead, newOrUpdatedRecord, newOutboundMessage, newRecord, newUpdatedFile, ], });

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