FlowyTeam Cloud Connector
Connect your FlowyTeam workspace to Claude (Desktop, web, and mobile) and ChatGPT. Authorize once with OAuth, then manage tasks, projects, employees, attendance, and OKRs in natural language. No API token to copy or paste.
FlowyTeam offers two ways to connect an AI assistant. They use different endpoints and sign-in methods. Pick the one that matches your assistant.
Cloud Connector
- Sign in with OAuth, one-click authorize
- No API token to manage
- 31 tools: tasks, projects, employees, attendance, OKRs
- Added from the assistant's Connectors settings
Claude Code (CLI)
- Sign in with a Bearer API token
- For developers working in the terminal
- Wider tool set including CRM, finance, tickets
- Not compatible with Claude Desktop or ChatGPT
You need a FlowyTeam account (free personal tier or any paid plan). Tools respect your existing role and permissions.
-
Claude: open Settings → Connectors (Desktop, web, or mobile).
ChatGPT: open Settings → Connectors and choose to add FlowyTeam.
-
Find FlowyTeam and click Connect.
You are sent to the FlowyTeam sign-in page.
-
Log in and click Authorize.
The consent screen shows what the connector can access. Nothing is shared until you approve.
-
Start using it.
Try: "List my tasks", "Create a task called Prepare Q3 report due Friday", or "Show this quarter's objectives".
https://flowyteam.com/api/mcp/cloud/rpcEvery tool call is scoped to your workspace and permissions. Read tools fetch data; write tools change it. Tools that overwrite or delete existing records are labelled destructive, so the assistant can ask you to confirm first.
Each tool is a single operation. Parameters below come straight from the live connector.
Tasks
List tasks in your workspace. Filter by status, priority, project, assignee, due date, or search by title. Returns up to 50 tasks ordered by most recent.
| Parameter | Type | Required | Description |
|---|---|---|---|
status |
string | Optional | Filter tasks by completion status. |
priority |
string | Optional | Filter tasks by priority level. |
project_id |
string | Optional | Filter tasks belonging to a specific project (project ID). |
assigned_to |
string | Optional | Filter tasks assigned to a specific user. Accepts user ID or partial name/email. Admin only for filtering by others. |
due_date |
string | Optional | Filter tasks due on this date (Y-m-d format). |
search |
string | Optional | Search tasks by title/heading (partial match). |
Get full details of a single task by ID, title, or heading. Returns subtasks, comments, files, and assigned user.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | The numeric ID of the task. |
heading |
string | Optional | The task heading/title (partial match), used when the id is unknown. If more than one task matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
title |
string | Optional | Alias for heading. |
Create a new task. Requires a heading/title. Optionally assign to a user by name or ID, link to a project, set priority and due date.
| Parameter | Type | Required | Description |
|---|---|---|---|
heading |
string | Required | The task title/heading (required). |
description |
string | Optional | Detailed description of the task. |
priority |
string | Optional | Task priority. Defaults to medium. |
project_id |
string | Optional | ID of the project to link this task to. |
assigned_to |
string | Optional | User to assign the task to. Accepts user ID or partial name/email. Defaults to the requesting user. |
due_date |
string | Optional | Due date in Y-m-d format. Defaults to 7 days from today. |
start_date |
string | Optional | Start date in Y-m-d format. Defaults to today. |
task_category_id |
string | Optional | ID of the task category. |
Update an existing task. Look up by ID or heading/title. Updatable fields: heading, description, status, priority, due_date, start_date, project_id, task_category_id, assigned_to.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | Task ID to look up and update. |
heading |
string | Optional | Current task heading used to locate the task by name (partial match). If more than one task matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
title |
string | Optional | Alias for heading (used to locate the task). |
new_heading |
string | Optional | New title to replace the existing task heading. |
description |
string | Optional | New task description. Pass null to clear. |
status |
string | Optional | New status for the task. |
priority |
string | Optional | New priority level. |
due_date |
string | Optional | New due date (Y-m-d). Pass null to clear. |
start_date |
string | Optional | New start date (Y-m-d). Pass null to clear. |
project_id |
string | Optional | Link or re-link the task to a project by ID. Pass null to unlink. |
task_category_id |
string | Optional | Task category ID. Pass null to clear. |
assigned_to |
string | Optional | Re-assign the task to a user (ID or name/email). Admin or users with add_tasks permission only. |
Permanently delete a task by ID or heading. Admin only. This action cannot be undone.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | The numeric ID of the task to delete. |
heading |
string | Optional | The task heading (partial match) to locate and delete. If more than one task matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
title |
string | Optional | Alias for heading. |
Projects
List projects in your workspace. Filter by status, client name, or search by project name. Members see only their assigned projects unless they have view_projects permission. Returns up to 50 projects.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | Optional | Search projects by name (partial match). |
status |
string | Optional | Filter projects by status. |
client_name |
string | Optional | Filter projects by client company name or contact name (partial match). |
category_name |
string | Optional | Filter projects by category name (partial match). |
Get full details of a single project by name, including members count, client, category, budget, and timeline.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | Project ID to retrieve. |
project_name |
string | Optional | The name (partial match) of the project to retrieve. If more than one project matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
Create a new project. Requires project_name and start_date. Optionally set deadline, status, client, category, and budget.
| Parameter | Type | Required | Description |
|---|---|---|---|
project_name |
string | Required | Name of the new project. |
start_date |
string | Required | Project start date in Y-m-d format (e.g. 2025-06-01). |
deadline |
string | Optional | Project deadline in Y-m-d format. Leave blank if without_deadline is true. |
without_deadline |
boolean | Optional | Set to true if the project has no fixed deadline. |
status |
string | Optional | Initial project status. Defaults to "not started". |
project_summary |
string | Optional | Short summary or description of the project. |
notes |
string | Optional | Additional internal notes for the project. |
client_name |
string | Optional | Client company name or contact name to associate with this project (partial match). |
category_name |
string | Optional | Project category name to assign (partial match). |
project_budget |
number | Optional | Budget allocated for this project. |
hours_allocated |
number | Optional | Total hours allocated for this project. |
client_view_task |
string | Optional | Whether clients can view tasks in this project. |
manual_timelog |
string | Optional | Whether manual time logging is allowed on this project. |
Update an existing project. Look up by project_name. Update name, status, dates, budget, client, category, or settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | Project ID to look up and update. |
project_name |
string | Optional | Name (partial match) of the project to look up and update. If more than one project matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
new_project_name |
string | Optional | Rename the project to this new name. |
status |
string | Optional | New project status. |
start_date |
string | Optional | Updated start date in Y-m-d format. |
deadline |
string | Optional | Updated deadline in Y-m-d format. |
without_deadline |
boolean | Optional | Set to true to mark the project as having no fixed deadline. |
project_summary |
string | Optional | Updated project summary or description. |
notes |
string | Optional | Updated internal notes. |
feedback |
string | Optional | Feedback or review notes for the project. |
client_name |
string | Optional | Client company name or contact name to associate (partial match). Replaces existing client. |
category_name |
string | Optional | Category name to assign (partial match). Replaces existing category. |
project_budget |
number | Optional | Updated project budget. |
hours_allocated |
number | Optional | Updated hours allocated. |
completion_percent |
integer | Optional | Overall completion percentage (0–100). |
client_view_task |
string | Optional | Whether clients can view tasks in this project. |
manual_timelog |
string | Optional | Whether manual time logging is allowed. |
Archive (soft-delete) a project by name. Admin only. The project can be restored from the Projects Archive page.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | Project ID to archive. |
project_name |
string | Optional | Name (partial match) of the project to archive. If more than one project matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
Employees
List employees in your workspace. Filter by status, department name, designation name, or search by name/email. Returns up to 50 employees.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | Optional | Search employees by name or email (partial match). |
status |
string | Optional | Filter employees by status. |
department_name |
string | Optional | Filter employees by department name (partial match). |
designation_name |
string | Optional | Filter employees by designation name (partial match). |
role |
string | Optional | Filter by role name (partial match, e.g. "admin" or "employee"). |
Get full profile of a single employee by name or email, including department, designation, salary, and personal details. Admin sees full profile; members see their own profile only.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Optional | Look up employee by user ID. |
name |
string | Optional | Look up employee by name (partial match). If more than one employee matches, the tool returns an error listing them and does nothing — use email to target exactly one. |
email |
string | Optional | Look up employee by exact email address (recommended — the unambiguous identifier). |
Create a new employee account. Requires name and email. Assigns the 'employee' role automatically. Default password is Welcome@123 if not provided.
| Parameter | Type | Required | Description |
|---|---|---|---|
new_name |
string | Required | Full name of the new employee. |
new_email |
string | Required | Email address for the new employee account. |
password |
string | Optional | Account password. Defaults to Welcome@123 if not provided. |
mobile |
string | Optional | Mobile phone number. |
gender |
string | Optional | Employee gender. |
timezone |
string | Optional | Timezone identifier (e.g. Asia/Kuala_Lumpur). |
login |
string | Optional | Whether the employee can log in. Defaults to enable. |
department_name |
string | Optional | Department name to assign (partial match). |
designation_name |
string | Optional | Designation/job title name to assign (partial match). |
employee_type_name |
string | Optional | Employment type name (partial match). |
joining_date |
string | Optional | Date the employee joined (Y-m-d format). Defaults to today. |
employee_id |
string | Optional | Internal employee ID / badge number. |
preferred_name |
string | Optional | Preferred display name. Defaults to full name if not provided. |
nationality |
string | Optional | Employee nationality. |
location |
string | Optional | Work location. |
employment_type |
string | Optional | Employment type (e.g. full-time, part-time, contract). |
salary |
number | Optional | Employee salary amount. |
salary_type |
string | Optional | Salary payment frequency. |
Update an employee's profile, department, designation, status, or salary. Look up by name or email. Members can only update their own profile.
| Parameter | Type | Required | Description |
|---|---|---|---|
email |
string | Optional | Identify the employee by their exact email address (recommended — unambiguous). Provide either email or name; if both are given, email wins. |
name |
string | Optional | Identify the employee by name (partial match). If the name matches more than one employee the tool returns an error listing them and changes nothing — use email to target exactly one. |
new_name |
string | Optional | New full name for the employee. |
new_email |
string | Optional | New email address for the employee. |
status |
string | Optional | Set employee status. |
mobile |
string | Optional | Mobile phone number. |
gender |
string | Optional | Employee gender. |
timezone |
string | Optional | Timezone identifier (e.g. Asia/Kuala_Lumpur). |
login |
string | Optional | Whether the employee can log in. |
password |
string | Optional | New account password. |
department_name |
string | Optional | Department name to assign (partial match). |
designation_name |
string | Optional | Designation/job title name to assign (partial match). |
joining_date |
string | Optional | Date the employee joined (Y-m-d format). |
last_date |
string | Optional | Last working date / offboarding date (Y-m-d format). |
nationality |
string | Optional | Employee nationality. |
location |
string | Optional | Work location. |
employment_type |
string | Optional | Employment type (e.g. full-time, part-time, contract). |
salary |
number | Optional | Employee salary amount. |
salary_type |
string | Optional | Salary payment frequency. |
marital_status |
string | Optional | Marital status (e.g. single, married, divorced). |
address |
string | Optional | Residential address. |
Attendance
List attendance records. Filter by employee name, date, month, or year. Members see only their own records. Returns up to 50 records ordered by most recent clock-in.
| Parameter | Type | Required | Description |
|---|---|---|---|
employee_name |
string | Optional | Filter by employee name (partial match). Admin only. |
employee_id |
string | Optional | Filter by employee ID. Admin only. |
date |
string | Optional | Filter records for a specific date in Y-m-d format. |
month |
string | Optional | Filter records by month number (1–12). |
year |
string | Optional | Filter records by year (e.g. 2026). |
today |
boolean | Optional | If true, return only today's attendance records. |
Get a single attendance record by its ID. Members can only access their own records. Returns clock-in/out times, late status, and working location.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | The attendance record ID. |
Record a clock-in for the current user (or any employee if admin). Automatically detects late and half-day status based on attendance settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
working_from |
string | Optional | Location where the employee is working from. Defaults to office. |
employee_name |
string | Optional | Clock in on behalf of an employee by name (partial match). Admin only. If more than one employee matches, the tool returns an error listing them and does nothing — use employee_id to target exactly one. |
employee_id |
string | Optional | Clock in on behalf of an employee by ID (recommended — the unambiguous identifier). Admin only. |
clock_in_datetime |
string | Optional | Explicit clock-in datetime in Y-m-d H:i:s or H:i format. Admin only. |
Record a clock-out for the current user (or any employee if admin). Finds the most recent open clock-in from today.
| Parameter | Type | Required | Description |
|---|---|---|---|
employee_name |
string | Optional | Clock out on behalf of an employee by name (partial match). Admin only. If more than one employee matches, the tool returns an error listing them and does nothing — use employee_id to target exactly one. |
employee_id |
string | Optional | Clock out on behalf of an employee by ID (recommended — the unambiguous identifier). Admin only. |
attendance_id |
string | Optional | Target a specific attendance record by ID. Admin only. |
clock_out_datetime |
string | Optional | Explicit clock-out datetime in Y-m-d H:i:s or H:i format. Admin only. |
Performance Cycles
List OKR performance cycles in your workspace. Optionally filter by type (quarterly, annual, monthly) or search by name. Returns up to 50 cycles ordered by most recent start date.
| Parameter | Type | Required | Description |
|---|---|---|---|
search |
string | Optional | Search cycles by name (partial match). |
cycle_type |
string | Optional | Filter by cycle type, e.g. quarterly, annual, monthly. |
Get a single performance cycle by ID or name. Returns cycle details including type, start date, and end date.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Optional | Performance cycle ID. |
name |
string | Optional | Performance cycle name (partial match). Used if id is not provided. If more than one cycle matches, the tool returns an error listing them and does nothing — use id to target exactly one. |
Create a new OKR performance cycle. Requires a name. Optionally set cycle type (quarterly, annual, monthly), start date, and end date. Admin only.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Required | Name of the performance cycle, e.g. "Q3 2026". |
cycle_type |
string | Optional | Cycle type: quarterly, annual, or monthly. |
started_at |
string | Required | Cycle start date in Y-m-d format (required, e.g. "2026-07-01"). |
finished_at |
string | Required | Cycle end date in Y-m-d format (required, e.g. "2026-09-30"). |
Update an existing performance cycle by ID. Only provided fields are updated. Admin only.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | Performance cycle ID to update. |
name |
string | Optional | New name for the cycle. |
cycle_type |
string | Optional | New cycle type: quarterly, annual, or monthly. |
started_at |
string | Optional | New start date in Y-m-d format. |
finished_at |
string | Optional | New end date in Y-m-d format. |
OKR Objectives
List OKR objectives in your workspace. Filter by type (personal, company, team), performance cycle, or search by title. Members see only their own personal objectives. Returns up to 50 objectives.
| Parameter | Type | Required | Description |
|---|---|---|---|
objective_type |
string | Optional | Filter by objective type. Members always get personal objectives only. |
performance_cycle_id |
integer | Optional | Filter objectives belonging to a specific performance cycle. |
search |
string | Optional | Search objectives by title (partial match). |
Get a single OKR objective by ID, including its key results and progress score. Members can only access their own personal objectives.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | The objective ID. |
Create a new OKR objective. Requires a title and objective type (personal, company, or team). Optionally link to a performance cycle and set start/end dates.
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Required | The objective title. |
objective_type |
string | Required | Scope of the objective. "personal" = individual employee. "company" = org-wide. "team" = department/team. Members can only create personal objectives. |
description |
string | Optional | Detailed description of the objective. |
performance_cycle_id |
integer | Optional | ID of the performance cycle this objective belongs to. |
started_at |
string | Optional | Start date in Y-m-d format. |
finished_at |
string | Optional | End date in Y-m-d format. |
weight |
number | Optional | Weight of this objective (0–100). Used for weighted scoring. |
Update an existing OKR objective by ID. Only provided fields are updated. Members can only update their own personal objectives.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | The objective ID to update. |
title |
string | Optional | New title for the objective. |
description |
string | Optional | New description. |
performance_cycle_id |
integer | Optional | New performance cycle ID. |
started_at |
string | Optional | New start date in Y-m-d format. |
finished_at |
string | Optional | New end date in Y-m-d format. |
weight |
number | Optional | New weight (0–100). |
Delete an OKR objective and all its key results by ID. This action is permanent. Members can only delete their own personal objectives. Admin only for company/team objectives.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | The objective ID to delete. |
Key Results
List key results for an objective. Requires an objective_id. Returns all key results with current progress, target value, and completion percentage.
| Parameter | Type | Required | Description |
|---|---|---|---|
objective_id |
integer | Required | The objective ID to list key results for. |
Get a single key result by ID, including current progress, accomplish rate, and the parent objective summary.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | The key result ID. |
Add a new key result to an existing objective. Requires objective_id and title. Set initial, target, and unit values to enable automatic progress tracking.
| Parameter | Type | Required | Description |
|---|---|---|---|
objective_id |
integer | Required | The objective this key result belongs to. |
title |
string | Required | The key result title/description. |
description |
string | Optional | Additional details about the key result. |
initial_value |
number | Optional | Starting value (default 0). |
target_value |
number | Optional | Target value to achieve (default 100). |
current_value |
number | Optional | Current value. Defaults to initial_value. |
unit_value |
string | Optional | Unit label, e.g. "%" or "deals" or "$". Defaults to "%". |
weight |
number | Optional | Weight of this KR within the objective (0–100). |
confidence |
integer | Optional | Confidence score 0–10 indicating likelihood of achieving the target. |
Update a key result by ID. Use this to record progress by updating current_value, or to change title, weight, and confidence. Members can only update KRs on their own personal objectives.
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Required | The key result ID to update. |
title |
string | Optional | New title. |
description |
string | Optional | New description. |
current_value |
number | Optional | Updated current value — the primary way to record progress. |
target_value |
number | Optional | Updated target value. |
unit_value |
string | Optional | Updated unit label. |
weight |
number | Optional | Updated weight (0–100). |
confidence |
integer | Optional | Updated confidence score (0–10). |
Common issues and how to resolve them.
FlowyTeam does not appear in my assistant's connector list
https://flowyteam.com/api/mcp/cloud/rpc. The Cloud Connector works with Claude Desktop, Claude web and mobile, and ChatGPT.
The sign-in page does not load or the authorization fails
The assistant says it is not connected or asks me to authorize again
A tool returns "permission denied" or an empty result
I use Claude Code in the terminal, not Claude Desktop
Which data can the connector reach?
Connect FlowyTeam to your AI assistant
Manage your whole workspace in natural language. Free personal tier available.
Create a free account Using the terminal? Claude Code (CLI) docs