Skip to main content
Glama
tasks.ts2.71 kB
/** * Tasks field mappings and validation rules * Extracted from field-mapper.ts during Issue #529 modular refactoring */ import { FieldMapping } from '../types.js'; /** * Field mapping configuration for tasks resource type */ export const TASKS_FIELD_MAPPING: FieldMapping = { fieldMappings: { // Content variations (removed title to prevent collision) // title field is preserved as-is to avoid data loss when both title and content are provided name: 'content', task_name: 'content', task_title: 'content', description: 'content', task_description: 'content', task: 'content', text: 'content', body: 'content', // Status variations - Map to is_completed (the correct API field) status: 'is_completed', // Transform status string to is_completed boolean state: 'is_completed', completed: 'is_completed', done: 'is_completed', complete: 'is_completed', task_status: 'is_completed', // Due date variations - Map to deadline_at (the correct API field) due_date: 'deadline_at', // Common field name to correct API field due: 'deadline_at', deadline: 'deadline_at', due_by: 'deadline_at', due_on: 'deadline_at', duedate: 'deadline_at', // camelCase variant (lowercase for lookup) // Assignee variations - Map to assignees array (the correct API field) assignee_id: 'assignees', // Transform single assignee to array assignee: 'assignees', assigned_to: 'assignees', owner: 'assignees', user: 'assignees', assigneeid: 'assignees', // camelCase variant (lowercase for lookup) // Record association - Keep as linked_records (already correct) record_id: 'linked_records', record: 'linked_records', linked_record: 'linked_records', parent: 'linked_records', related_to: 'linked_records', recordid: 'linked_records', // camelCase variant (lowercase for lookup) }, validFields: [ 'content', 'format', 'deadline_at', 'is_completed', 'assignees', 'linked_records', 'priority', // Also accept the common field names for backward compatibility 'due_date', 'status', 'assignee_id', 'record_id', 'assignee', ], commonMistakes: { name: 'Use "content" for task text/description', description: 'Use "content" for task text/description', assignee: 'Use "assignee_id" or "assignees" with workspace member ID(s)', due: 'Use "due_date" or "deadline_at" with ISO date format', record: 'Use "record_id" or "linked_records" to link the task to records', status: 'Use "status" (pending/completed) or "is_completed" (true/false)', }, requiredFields: ['content'], uniqueFields: [], };

Latest Blog Posts

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/kesslerio/attio-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server