{
  "service": "chatwork",
  "displayName": "Chatwork",
  "categories": [
    "Communication",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "chatwork_api_token",
      "description": "Chatwork API token sent with the X-ChatWorkToken header. Generate it from the Chatwork API settings page."
    }
  ],
  "homepageUrl": "https://go.chatwork.com",
  "actions": [
    {
      "id": "chatwork.create_task",
      "service": "chatwork",
      "name": "create_task",
      "description": "Create a task in a Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "description": "The task body."
          },
          "assigneeAccountIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "The Chatwork account ID."
            },
            "description": "The assignee Chatwork account IDs.",
            "minItems": 1
          },
          "limitTime": {
            "type": "integer",
            "minimum": 1,
            "description": "The Unix timestamp deadline."
          },
          "limitType": {
            "type": "string",
            "enum": [
              "none",
              "date",
              "time"
            ],
            "description": "The deadline type."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "body",
          "assigneeAccountIds"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "taskIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "The Chatwork task ID."
            },
            "description": "The created Chatwork task IDs."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.delete_message",
      "service": "chatwork",
      "name": "delete_message",
      "description": "Delete one message in a Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "messageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Chatwork message ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "messageId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "messageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Chatwork message ID."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.get_contacts",
      "service": "chatwork",
      "name": "get_contacts",
      "description": "List Chatwork contacts visible to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require additional input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Chatwork object returned by the API."
            },
            "description": "The Chatwork contacts."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.get_me",
      "service": "chatwork",
      "name": "get_me",
      "description": "Get the authenticated Chatwork profile.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require additional input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Chatwork object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.get_message",
      "service": "chatwork",
      "name": "get_message",
      "description": "Get one message from a Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "messageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Chatwork message ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "messageId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Chatwork object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.get_room",
      "service": "chatwork",
      "name": "get_room",
      "description": "Get metadata for one Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "room": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Chatwork object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.get_task",
      "service": "chatwork",
      "name": "get_task",
      "description": "Get one task from a Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "taskId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork task ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "taskId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "task": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Chatwork object returned by the API."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.list_my_tasks",
      "service": "chatwork",
      "name": "list_my_tasks",
      "description": "List Chatwork tasks assigned to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "assignedByAccountId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork account ID."
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "done"
            ],
            "description": "The task completion status."
          }
        },
        "additionalProperties": false
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Chatwork object returned by the API."
            },
            "description": "The Chatwork tasks."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.list_room_members",
      "service": "chatwork",
      "name": "list_room_members",
      "description": "List all members in one Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "members": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Chatwork object returned by the API."
            },
            "description": "The Chatwork room members."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.list_room_messages",
      "service": "chatwork",
      "name": "list_room_messages",
      "description": "List messages in one Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "force": {
            "type": "boolean",
            "description": "Whether to force returning the latest 100 messages."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Chatwork object returned by the API."
            },
            "description": "The Chatwork room messages."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.list_room_tasks",
      "service": "chatwork",
      "name": "list_room_tasks",
      "description": "List tasks in one Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "accountId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork account ID."
          },
          "assignedByAccountId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork account ID."
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "done"
            ],
            "description": "The task completion status."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Chatwork object returned by the API."
            },
            "description": "The Chatwork room tasks."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.list_rooms",
      "service": "chatwork",
      "name": "list_rooms",
      "description": "List Chatwork rooms visible to the authenticated account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require additional input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rooms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "Chatwork object returned by the API."
            },
            "description": "The Chatwork rooms."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.post_message",
      "service": "chatwork",
      "name": "post_message",
      "description": "Post a message to a Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "description": "The message body."
          },
          "selfUnread": {
            "type": "boolean",
            "description": "Whether the posted message should remain unread for the sender."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "body"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "messageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Chatwork message ID."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.update_message",
      "service": "chatwork",
      "name": "update_message",
      "description": "Update one message in a Chatwork room.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "messageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Chatwork message ID."
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "description": "The updated message body."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "messageId",
          "body"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "messageId": {
            "type": "string",
            "minLength": 1,
            "description": "The Chatwork message ID."
          }
        },
        "additionalProperties": false
      }
    },
    {
      "id": "chatwork.update_task_status",
      "service": "chatwork",
      "name": "update_task_status",
      "description": "Update the completion status of one Chatwork task.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork room ID."
          },
          "taskId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork task ID."
          },
          "status": {
            "type": "string",
            "enum": [
              "open",
              "done"
            ],
            "description": "The task completion status."
          }
        },
        "additionalProperties": false,
        "required": [
          "roomId",
          "taskId",
          "status"
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "taskId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Chatwork task ID."
          }
        },
        "additionalProperties": false
      }
    }
  ]
}
