Skip to main content
Glama

mcp-google-sheets

update-task.ts2.99 kB
import { createAction, OAuth2PropertyValue, Property, } from '@activepieces/pieces-framework'; import { microsoft365PlannerAuth, microsoft365PlannerCommon } from '../common'; import { PlanDropdown, TaskDropdown } from '../common/properties'; export const updateTask = createAction({ auth: microsoft365PlannerAuth, name: 'updateTask', displayName: 'Update Task', description: 'Modify existing task fields: title, due date, assignments, descriptions.', props: { planId: PlanDropdown({ required: true }), id: TaskDropdown({ required: true }), title: Property.ShortText({ displayName: 'Title', description: 'The new title of the task', required: false, }), assignments: Property.MultiSelectDropdown({ displayName: 'Assignments', description: 'Select users to assign the task to. If left empty, the task will be unassigned.', required: false, refreshers: ['auth'], options: async ({ auth }: { auth?: OAuth2PropertyValue | null }) => { if (!auth) { return { options: [], disabled: true, placeholder: 'Please select an authentication first', }; } const users = await microsoft365PlannerCommon.listUsers({ auth: auth }); return { options: users.map((user) => ({ label: user.displayName || user.userPrincipalName || 'No Name', value: user.id || '', })), disabled: false, placeholder: 'Select users to assign the task to', }; }, }), dueDateTime: Property.DateTime({ displayName: 'Due Date', description: 'The due date and time for the task', required: false, }), percentComplete: Property.Number({ displayName: 'Percent Complete', description: 'The completion percentage of the task (0-100)', required: false, }), priority: Property.Number({ displayName: 'Priority', description: 'The priority of the task between 0 and 10, with the increasing value being lower priority (0 has the highest priority and 10 has the lowest priority).', required: false, }), startDateTime: Property.DateTime({ displayName: 'Start Date', description: 'The start date and time for the task', required: false, }), }, async run({ auth, propsValue }) { const { planId, id, ...updateParams } = propsValue; if (!id) { throw new Error('Task ID is required to update a task.'); } const formattedParams = { ...updateParams, assignments: updateParams.assignments ? Object.fromEntries( updateParams.assignments.map((userId) => [ userId, { '@odata.type': 'microsoft.graph.plannerAssignment' }, ]) ) : undefined, }; return await microsoft365PlannerCommon.updateTask({ auth, id, ...formattedParams, }); }, });

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