Skip to main content
Glama

mcp-google-sheets

create-task.ts2.5 kB
import { asanaCommon, callAsanaApi, getTags } from '../common'; import { getAccessTokenOrThrow, HttpMethod } from '@activepieces/pieces-common'; import dayjs from 'dayjs'; import { asanaAuth } from '../../'; import { Property, createAction } from '@activepieces/pieces-framework'; export const asanaCreateTaskAction = createAction({ auth: asanaAuth, name: 'create_task', description: 'Create a new task', displayName: 'Create Task', props: { workspace: asanaCommon.workspace, project: asanaCommon.project, name: Property.ShortText({ description: 'The name of the task to create', displayName: 'Task Name', required: true, }), notes: Property.LongText({ description: 'Free-form textual information associated with the task (i.e. its description).', displayName: 'Task Description', required: true, }), //Should be due_at in future minor version bump due_on: Property.ShortText({ description: 'The date on which this task is due in any format.', displayName: 'Due Date', required: false, }), tags: asanaCommon.tags, assignee: asanaCommon.assignee, }, async run(configValue) { const { auth } = configValue; const { project, name, notes, tags, workspace, due_on, assignee } = configValue.propsValue; const convertedDueAt = due_on ? dayjs(due_on).toISOString() : undefined; // User can provide tags name as dynamic value, we need to convert them to tags gids const userTags = tags ?? []; const convertedTags = await getTags(auth.access_token, workspace); const tagsGids = userTags .map((tag: string) => { const foundTagById = convertedTags.find( (convertedTag) => convertedTag.gid === tag ); if (foundTagById) { return foundTagById.gid; } const foundTag = convertedTags.find( (convertedTag) => convertedTag.name?.toLowerCase() === tag.toLowerCase() ); if (foundTag) { return foundTag.gid; } return null; }) .filter((tag) => tag !== null); return ( await callAsanaApi( HttpMethod.POST, `tasks`, getAccessTokenOrThrow(auth), { data: { name, projects: [project], notes, assignee, due_at: convertedDueAt, tags: tagsGids, }, } ) ).body['data']; }, });

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