Skip to main content
Glama

mcp-google-sheets

upload-file.ts2.29 kB
import { hubspotAuth } from '../../'; import { createAction, DropdownOption, PiecePropValueSchema, Property, } from '@activepieces/pieces-framework'; import { Client } from '@hubspot/api-client'; export const uploadFileAction = createAction({ auth: hubspotAuth, name: 'upload-file', displayName: 'Upload File', description: 'Uploads a file to HubSpot File Manager.', props: { folderId: Property.Dropdown({ displayName: 'Folder', refreshers: [], required: true, options: async ({ auth }) => { if (!auth) { return { disabled: true, options: [], placeholder: 'Please connect your account.', }; } const authValue = auth as PiecePropValueSchema<typeof hubspotAuth>; const client = new Client({ accessToken: authValue.access_token }); const limit = 100; const options: DropdownOption<string>[] = []; let after: string | undefined; do { const response = await client.files.foldersApi.doSearch( undefined, after, undefined, limit, ); for (const folder of response.results) { options.push({ value: folder.id, label: folder.name ?? folder.id, }); } after = response.paging?.next?.after; } while (after); return { disabled: false, options, }; }, }), fileName: Property.ShortText({ displayName: 'File Name', required: true, }), accessLevel: Property.StaticDropdown({ displayName: 'Access Level', required: true, options: { disabled: false, options: [ { value: 'PUBLIC_INDEXABLE', label: 'PUBLIC_INDEXABLE', }, { value: 'PUBLIC_NOT_INDEXABLE', label: 'PUBLIC_NOT_INDEXABLE', }, { label: 'PRIVATE', value: 'PRIVATE' }, ], }, }), file: Property.File({ displayName: 'File', required: true, }), }, async run(context) { const { accessLevel, fileName, folderId, file } = context.propsValue; const client = new Client({ accessToken: context.auth.access_token }); const response = await client.files.filesApi.upload( { name: fileName, data: file.data, }, folderId, undefined, fileName, undefined, JSON.stringify({ access: accessLevel, }), ); return response; }, });

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