| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- {
- "id": "zoho-tasks",
- "name": "Zoho Tasks",
- "description": "Zoho Projects task management integration for EU data center",
- "version": "2.0.0",
- "author": "Ferenc Szontagh & Zoë",
- "sdkVersion": 1,
- "entry": "index.js",
- "runtime": "quickjs",
- "permissions": {
- "allowNetwork": true,
- "allowStorage": true
- },
- "config": [
- { "key": "client_id", "label": "Zoho OAuth Client ID", "required": true, "secret": true },
- { "key": "client_secret", "label": "Zoho OAuth Client Secret", "required": true, "secret": true },
- { "key": "portal_url", "label": "Zoho Projects Portal URL (e.g. https://projects.zoho.eu/portal/myportal)", "required": false, "secret": false }
- ],
- "tools": [
- {
- "name": "setup_auth",
- "description": "Exchange a Zoho grant token for access + refresh tokens. Run this ONCE after getting a grant token from the Zoho Developer Console.",
- "parameters": {
- "type": "object",
- "properties": {
- "grant_token": { "type": "string", "description": "Grant token from Zoho Developer Console (Self Client → Generate)" }
- },
- "required": ["grant_token"]
- }
- },
- {
- "name": "resolve_portal",
- "description": "Resolve a portal URL or name to its numeric portal ID. Call this after setup_auth to auto-configure the portal. Optionally pass portal_url or portal_name to match a specific portal.",
- "parameters": {
- "type": "object",
- "properties": {
- "portal_url": { "type": "string", "description": "Full portal URL (e.g. https://projects.zoho.eu/portal/aicaller) or portal name slug" },
- "portal_name": { "type": "string", "description": "Portal display name to match" }
- }
- }
- },
- {
- "name": "auth_status",
- "description": "Check authentication status and token validity",
- "parameters": { "type": "object", "properties": {} }
- },
- {
- "name": "list_projects",
- "description": "List all accessible Zoho Projects in the portal",
- "parameters": {
- "type": "object",
- "properties": {
- "index": { "type": "number", "description": "Page index (default 1)" }
- }
- }
- },
- {
- "name": "list_tasks",
- "description": "List tasks from a Zoho Projects project. Supports filtering by status, priority, assignee, and date range.",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "status": { "type": "string", "description": "Filter: all, completed, notcompleted (default: all)" },
- "priority": { "type": "string", "description": "Filter: all, none, low, medium, high" },
- "owner": { "type": "string", "description": "Filter: all or user ID" },
- "index": { "type": "number", "description": "Page index (default 1)" }
- },
- "required": ["project_id"]
- }
- },
- {
- "name": "get_task",
- "description": "Get full details of a single task",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID" }
- },
- "required": ["project_id", "task_id"]
- }
- },
- {
- "name": "create_task",
- "description": "Create a new task in a Zoho Projects project",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "name": { "type": "string", "description": "Task name/title" },
- "description": { "type": "string", "description": "Task description (HTML allowed)" },
- "person_responsible": { "type": "string", "description": "Owner user ID(s), comma-separated" },
- "priority": { "type": "string", "description": "none, low, medium, high" },
- "start_date": { "type": "string", "description": "Start date (MM-DD-YYYY format)" },
- "end_date": { "type": "string", "description": "Due date (MM-DD-YYYY format)" },
- "tasklist_id": { "type": "string", "description": "Task list ID to add the task to" }
- },
- "required": ["project_id", "name"]
- }
- },
- {
- "name": "update_task",
- "description": "Update an existing task in Zoho Projects",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID to update" },
- "name": { "type": "string", "description": "New task name" },
- "description": { "type": "string", "description": "New description (HTML allowed)" },
- "person_responsible": { "type": "string", "description": "New owner user ID(s), comma-separated" },
- "priority": { "type": "string", "description": "none, low, medium, high" },
- "start_date": { "type": "string", "description": "New start date (MM-DD-YYYY)" },
- "end_date": { "type": "string", "description": "New due date (MM-DD-YYYY)" },
- "percent_complete": { "type": "string", "description": "Completion percentage (0-100)" }
- },
- "required": ["project_id", "task_id"]
- }
- },
- {
- "name": "delete_task",
- "description": "Delete a task from Zoho Projects",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID to delete" }
- },
- "required": ["project_id", "task_id"]
- }
- },
- {
- "name": "add_comment",
- "description": "Add a comment to a task",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID" },
- "content": { "type": "string", "description": "Comment text (HTML allowed)" }
- },
- "required": ["project_id", "task_id", "content"]
- }
- },
- {
- "name": "update_comment",
- "description": "Update an existing comment on a task",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID" },
- "comment_id": { "type": "string", "description": "Comment ID to update" },
- "content": { "type": "string", "description": "New comment text (HTML allowed)" }
- },
- "required": ["project_id", "task_id", "comment_id", "content"]
- }
- },
- {
- "name": "delete_comment",
- "description": "Delete a comment from a task",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID" },
- "comment_id": { "type": "string", "description": "Comment ID to delete" }
- },
- "required": ["project_id", "task_id", "comment_id"]
- }
- },
- {
- "name": "my_tasks",
- "description": "Get tasks assigned to the authenticated user across all projects",
- "parameters": {
- "type": "object",
- "properties": {
- "status": { "type": "string", "description": "Filter: all, completed, notcompleted (default: all)" },
- "priority": { "type": "string", "description": "Filter: all, none, low, medium, high" },
- "index": { "type": "number", "description": "Page index (default 1)" }
- }
- }
- },
- {
- "name": "search_tasks",
- "description": "Search tasks by keyword across all projects in the portal",
- "parameters": {
- "type": "object",
- "properties": {
- "query": { "type": "string", "description": "Search term" },
- "project_id": { "type": "string", "description": "Optional: limit search to a specific project" }
- },
- "required": ["query"]
- }
- },
- {
- "name": "log_time",
- "description": "Log time (timesheet entry) against a task in Zoho Projects",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Task ID to log time against" },
- "hours": { "type": "number", "description": "Hours worked (can include decimals, e.g. 1.5 for 1h 30m)" },
- "minutes": { "type": "number", "description": "Additional minutes (optional)" },
- "date": { "type": "string", "description": "Date of work (MM-DD-YYYY format, default: today)" },
- "notes": { "type": "string", "description": "Description of the work done" }
- },
- "required": ["project_id", "task_id", "hours"]
- }
- },
- {
- "name": "list_timesheets",
- "description": "List timesheet entries for a project, optionally filtered by task and date range",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "task_id": { "type": "string", "description": "Optional: filter by task ID" },
- "from_date": { "type": "string", "description": "Start date (MM-DD-YYYY)" },
- "to_date": { "type": "string", "description": "End date (MM-DD-YYYY)" },
- "index": { "type": "number", "description": "Page index (default 1)" }
- },
- "required": ["project_id"]
- }
- },
- {
- "name": "delete_timesheet",
- "description": "Delete a timesheet entry from a Zoho Projects project",
- "parameters": {
- "type": "object",
- "properties": {
- "project_id": { "type": "string", "description": "Zoho Projects project ID" },
- "log_id": { "type": "string", "description": "Timesheet log ID to delete" }
- },
- "required": ["project_id", "log_id"]
- }
- }
- ],
- "skills": ["zoho-tasks"]
- }
|