manifest.json 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. {
  2. "id": "zoho-tasks",
  3. "name": "Zoho Tasks",
  4. "description": "Zoho Projects task management integration for EU data center",
  5. "version": "1.0.0",
  6. "author": "Ferenc Szontagh & Zoë",
  7. "sdkVersion": 1,
  8. "entry": "index.js",
  9. "runtime": "quickjs",
  10. "permissions": {
  11. "allowNetwork": true,
  12. "allowStorage": true
  13. },
  14. "config": [
  15. { "key": "client_id", "label": "Zoho OAuth Client ID", "required": true, "secret": true },
  16. { "key": "client_secret", "label": "Zoho OAuth Client Secret", "required": true, "secret": true },
  17. { "key": "portal_id", "label": "Zoho Projects Portal ID", "required": true, "secret": false }
  18. ],
  19. "tools": [
  20. {
  21. "name": "setup_auth",
  22. "description": "Exchange a Zoho grant token for access + refresh tokens. Run this ONCE after getting a grant token from the Zoho Developer Console.",
  23. "parameters": {
  24. "type": "object",
  25. "properties": {
  26. "grant_token": { "type": "string", "description": "Grant token from Zoho Developer Console (Self Client → Generate)" }
  27. },
  28. "required": ["grant_token"]
  29. }
  30. },
  31. {
  32. "name": "auth_status",
  33. "description": "Check authentication status and token validity",
  34. "parameters": { "type": "object", "properties": {} }
  35. },
  36. {
  37. "name": "list_projects",
  38. "description": "List all accessible Zoho Projects in the portal",
  39. "parameters": {
  40. "type": "object",
  41. "properties": {
  42. "index": { "type": "number", "description": "Page index (default 1)" }
  43. }
  44. }
  45. },
  46. {
  47. "name": "list_tasks",
  48. "description": "List tasks from a Zoho Projects project. Supports filtering by status, priority, assignee, and date range.",
  49. "parameters": {
  50. "type": "object",
  51. "properties": {
  52. "project_id": { "type": "string", "description": "Zoho Projects project ID" },
  53. "status": { "type": "string", "description": "Filter: all, completed, notcompleted (default: all)" },
  54. "priority": { "type": "string", "description": "Filter: all, none, low, medium, high" },
  55. "owner": { "type": "string", "description": "Filter: all or user ID" },
  56. "index": { "type": "number", "description": "Page index (default 1)" }
  57. },
  58. "required": ["project_id"]
  59. }
  60. },
  61. {
  62. "name": "get_task",
  63. "description": "Get full details of a single task",
  64. "parameters": {
  65. "type": "object",
  66. "properties": {
  67. "project_id": { "type": "string", "description": "Zoho Projects project ID" },
  68. "task_id": { "type": "string", "description": "Task ID" }
  69. },
  70. "required": ["project_id", "task_id"]
  71. }
  72. },
  73. {
  74. "name": "create_task",
  75. "description": "Create a new task in a Zoho Projects project",
  76. "parameters": {
  77. "type": "object",
  78. "properties": {
  79. "project_id": { "type": "string", "description": "Zoho Projects project ID" },
  80. "name": { "type": "string", "description": "Task name/title" },
  81. "description": { "type": "string", "description": "Task description (HTML allowed)" },
  82. "person_responsible": { "type": "string", "description": "Owner user ID(s), comma-separated" },
  83. "priority": { "type": "string", "description": "none, low, medium, high" },
  84. "start_date": { "type": "string", "description": "Start date (MM-DD-YYYY format)" },
  85. "end_date": { "type": "string", "description": "Due date (MM-DD-YYYY format)" },
  86. "tasklist_id": { "type": "string", "description": "Task list ID to add the task to" }
  87. },
  88. "required": ["project_id", "name"]
  89. }
  90. },
  91. {
  92. "name": "update_task",
  93. "description": "Update an existing task in Zoho Projects",
  94. "parameters": {
  95. "type": "object",
  96. "properties": {
  97. "project_id": { "type": "string", "description": "Zoho Projects project ID" },
  98. "task_id": { "type": "string", "description": "Task ID to update" },
  99. "name": { "type": "string", "description": "New task name" },
  100. "description": { "type": "string", "description": "New description (HTML allowed)" },
  101. "person_responsible": { "type": "string", "description": "New owner user ID(s), comma-separated" },
  102. "priority": { "type": "string", "description": "none, low, medium, high" },
  103. "start_date": { "type": "string", "description": "New start date (MM-DD-YYYY)" },
  104. "end_date": { "type": "string", "description": "New due date (MM-DD-YYYY)" },
  105. "percent_complete": { "type": "string", "description": "Completion percentage (0-100)" }
  106. },
  107. "required": ["project_id", "task_id"]
  108. }
  109. },
  110. {
  111. "name": "delete_task",
  112. "description": "Delete a task from Zoho Projects",
  113. "parameters": {
  114. "type": "object",
  115. "properties": {
  116. "project_id": { "type": "string", "description": "Zoho Projects project ID" },
  117. "task_id": { "type": "string", "description": "Task ID to delete" }
  118. },
  119. "required": ["project_id", "task_id"]
  120. }
  121. },
  122. {
  123. "name": "my_tasks",
  124. "description": "Get tasks assigned to the authenticated user across all projects",
  125. "parameters": {
  126. "type": "object",
  127. "properties": {
  128. "status": { "type": "string", "description": "Filter: all, completed, notcompleted (default: all)" },
  129. "priority": { "type": "string", "description": "Filter: all, none, low, medium, high" },
  130. "index": { "type": "number", "description": "Page index (default 1)" }
  131. }
  132. }
  133. },
  134. {
  135. "name": "search_tasks",
  136. "description": "Search tasks by keyword across all projects in the portal",
  137. "parameters": {
  138. "type": "object",
  139. "properties": {
  140. "query": { "type": "string", "description": "Search term" },
  141. "project_id": { "type": "string", "description": "Optional: limit search to a specific project" }
  142. },
  143. "required": ["query"]
  144. }
  145. }
  146. ],
  147. "skills": ["zoho-tasks"]
  148. }