[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Set up a Hubstaff project with tasks and a team

> Create a Hubstaff project from a brief, add its tasks, and put each member on it with the right role, in one run from your agent.

Source: https://cotlet.dev/integrations/hubstaff-api-mcp-server/set-up-a-project

A new client project means the same clicks every time: create the project, set billable, add members with roles, then add every task and assign it.

Cotlet does it in your own Hubstaff account with list\_members, create\_project, create\_task and assign\_project\_member, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=hubstaff) [All Hubstaff tools](https://cotlet.dev/integrations/hubstaff-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Hubstaff do this on its own?

Hubstaff creates projects, tasks and members in the app and in API v2, and its MCP server is read-only (checked 17 Oct 2026). The app has no way to set up a project and its tasks from a written brief, and projects linked to a third-party tool cannot take tasks created in Hubstaff, which is a limit this job reports instead of working around.

## How you do it in Hubstaff today

1. On the sidebar, under Project Management > Projects, an owner, organization manager or team lead with the permission clicks Add Project.
2. The manager names the project, says whether it is billable on invoices, chooses whether to record activity, and adds a client if needed, which needs a Team or Enterprise plan.
3. On the Budget tab the manager picks a type (total cost or total hours), what it is based on, a notify-at percentage and a start date.
4. On the Members tab the manager adds people as Users, Managers or Viewers; Viewers cannot track time against the project.
5. The manager then opens the project and adds each task with its assignee, one by one.
6. Several projects can be added at once by typing one name per line, but members and tasks still go in project by project.

## How to set up a Hubstaff project with tasks and a team

Prompt

```
Create the Hubstaff project "Website relaunch", billable, with Maria Silva and Tom Becker as users and Dana Whitfield as manager. Add these four tasks and assign them as listed: homepage design to Maria, checkout flow to Tom, content migration to Maria, launch checklist to Dana.
```

1. 01  
### Resolve the people  
list\_members maps names in your brief to Hubstaff users. A name that matches nobody or two people is reported, not guessed, because a wrong match gives the wrong person access.
2. 02  
### Create the project  
create\_project sets name, billable and the members with their roles in one call, so the team is in place before any task exists.
3. 03  
### Add the tasks  
create\_task runs once per task with the project and assignee, in the order of your brief. Each call asks for your OK until you switch confirmation off.
4. 04  
### Fix roles that missed  
If a member was named after the project existed, assign\_project\_member adds them with a role, and changes one when the brief says so.
5. 05  
### Report what exists  
The agent lists what it created with ids, so you can check the project in Hubstaff once, not task by task.

### What you get back

Example data

```
Created project "Website relaunch" (id 90417), billable
Members: Maria Silva (user), Tom Becker (user), Dana Whitfield (manager)
Tasks added 4:
- Homepage design, Maria
- Checkout flow, Tom
- Content migration, Maria
- Launch checklist, Dana
Not done 0
```

### Other ways to ask

- Copy the members of the Support rota project into a new project called Spring campaign and add three tasks from this list.
- Create five projects, one per client in this list, billable, with me as manager, and no tasks.
- Add Jake Ortiz as a viewer on every active project that has "Website" in its name.
- Show me what would be created from this brief and write nothing to Hubstaff.

## What Hubstaff allows, and what to know first

- Only owners, organization managers and team leads with the permission enabled on the team settings can add projects.
- Project roles are viewer, user and manager, and a viewer cannot track time against the project.
- Only the name is required to create a project through the API; members, a client, a budget and a billable default are optional.
- Clients on projects are available on the Teams and Enterprise plans.
- A project integrated with a third-party tool takes its tasks from that tool, so a task cannot be created for it in Hubstaff.

create\_task and assign\_project\_member ask for your OK by default. To run it on a schedule without you, switch confirmation off for those tools in your dashboard.

Sources: [Hubstaff Support: Adding and assigning projects in Hubstaff](https://support.hubstaff.com/add-projects/) · [Hubstaff developers: Projects](https://developer.hubstaff.com/reference/projects/) · [Hubstaff developers: Tasks](https://developer.hubstaff.com/reference/tasks/) · [Hubstaff developers: Members](https://developer.hubstaff.com/reference/members/)

## Call create\_project from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/hubstaff/organizations/412093/projects \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Website relaunch","billable":true,"members":[{"user_id":3011,"role":"user"},{"user_id":3014,"role":"manager"}]}'
```

Example response

```
{
"project_id": 90417,
"name": "Website relaunch",
"status": "active",
"billable": true,
"members": [
{
"user_id": 3011,
"role": "user"
},
{
"user_id": 3014,
"role": "manager"
}
]
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is hubstaff\_write → create\_project. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/hubstaff-api-mcp-server.md#automations)

## Hubstaff tools this automation uses

__Cotlet Hubstaff tools used to set up a Hubstaff project with tasks and a team__
| Tool | Parameters |
| ----------------------- | ------------------------------------------------------------------ |
| list\_members | organization\_id, limit, cursor |
| create\_project | organization\_id, name, description, billable, client\_id, members |
| create\_task | project\_id, summary, assignee\_ids |
| assign\_project\_member | project\_id, user\_id, role |

[All 15 Hubstaff tools with descriptions](https://cotlet.dev/integrations/hubstaff-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Hubstaff to Cotlet?

Yes. You sign in to Hubstaff yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Hubstaff once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Hubstaff automations

- [Approve Hubstaff timesheets with AI](https://cotlet.dev/integrations/hubstaff-api-mcp-server/approve-timesheets.md)
- [Approve Hubstaff manual time requests](https://cotlet.dev/integrations/hubstaff-api-mcp-server/approve-manual-time-requests.md)
- [Hubstaff API and MCP server: every tool](https://cotlet.dev/integrations/hubstaff-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Hubstaff.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Hubstaff.

[Sign up free](https://cotlet.dev/app/signup?app=hubstaff)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
