Skip to main content
Glama

mcp-google-sheets

upload-file-to-column.ts3.07 kB
import { createAction, Property } from '@activepieces/pieces-framework'; import { makeClient, mondayCommon } from '../common'; import { MondayColumnType } from '../common/constants'; import { httpClient, HttpMethod } from '@activepieces/pieces-common'; import FormData from 'form-data'; import { mondayAuth } from '../../'; export const uploadFileToColumnAction = createAction({ auth: mondayAuth, name: 'monday_upload_file_to_column', displayName: 'Upload File to Column', description: 'Upload a file to a column in Monday.', props: { workspace_id: mondayCommon.workspace_id(true), board_id: mondayCommon.board_id(true), item_id: mondayCommon.item_id(true), file_column_id: Property.Dropdown({ displayName: 'File Column ID', required: true, refreshers: ['board_id'], options: async ({ auth, board_id }) => { if (!auth || !board_id) { return { disabled: true, placeholder: 'connect your account first and select workspace board.', options: [], }; } const client = makeClient(auth as string); const res = await client.listBoardColumns({ boardId: board_id as string, }); return { disabled: false, options: res.data.boards[0].columns .filter((column) => column.type === MondayColumnType.FILE) .map((column) => { return { label: column.title, value: column.id, }; }), }; }, }), file: Property.File({ displayName: 'File', description: 'The file URL or base64 to upload.', required: true, }), file_name: Property.ShortText({ displayName: 'File Name', required: true, }), }, async run(context) { const itemId = context.propsValue.item_id; const fileColumnId = context.propsValue.file_column_id; const fileName = context.propsValue.file_name; const file = context.propsValue.file; const formData = new FormData(); formData.append( 'query', `mutation($item_id: ID!, $column_id: String!, $file: File!) { add_file_to_column(item_id: $item_id, column_id: $column_id, file: $file) { id url name file_size file_extension created_at } }` ); formData.append( 'variables', JSON.stringify({ item_id: itemId, column_id: fileColumnId }) ); formData.append('map', JSON.stringify({ file: 'variables.file' })); formData.append( 'file', Buffer.from(file.base64, 'base64'), fileName || file.filename ); const response = await httpClient.sendRequest({ method: HttpMethod.POST, url: 'https://api.monday.com/v2/file', headers: { 'API-Version': '2024-01', Authorization: context.auth, ...formData.getHeaders(), }, body: formData, }); return response.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