Skip to main content
Glama

mcp-google-sheets

uploadFile.ts1.81 kB
import { createAction, Property } from '@activepieces/pieces-framework'; import { ChatDataClient } from '../common/client'; export const uploadFile = createAction({ name: 'upload_file', displayName: 'Upload File', description: 'Upload a file to be used with a chatbot for training or knowledge base', props: { chatbotId: Property.Dropdown({ displayName: 'Chatbot', description: 'Select the chatbot to upload file to', required: true, refreshers: [], options: async ({ auth }) => { if (!auth) { return { disabled: true, options: [], placeholder: 'Please connect your account first', }; } try { const client = new ChatDataClient(auth as string); const chatbots = await client.listChatbots(); return { options: chatbots.map((chatbot) => ({ label: chatbot.name, value: chatbot.id, })), }; } catch (error) { return { disabled: true, options: [], placeholder: 'Failed to load chatbots', }; } }, }), file: Property.File({ displayName: 'File', description: 'The file to upload to the chatbot', required: true, }), }, async run(context) { const client = new ChatDataClient(context.auth as string); const { file, chatbotId } = context.propsValue; const fileData = Buffer.from(file.base64, 'base64'); const fileMeta = { filename: file.filename || 'uploaded-file', contentType: file.extension ? `application/${file.extension}` : 'application/octet-stream', }; return await client.uploadFile(chatbotId, fileData, fileMeta); }, });

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