Workflows and example prompts
Plan staffing, change compensation, update billing and manage time off with reviewable steps.
Replace the example names and dates with your own. Start with whoami to confirm the connected workspace. Each workflow requires the same current permissions as the corresponding app operation.
Staff a project
Find Acme relaunch and Maya. Show Maya's capacity for the next two weeks. Preview 24 planned hours per week on that project, including existing hours that would be replaced and any leave conflicts. Wait for my confirmation before applying.
- Resolve the project with
list_projects(name) orget_project_details, and the person withsearch_user. Resolve ambiguous matches before continuing. - Read
get_capacityandget_project_demandto distinguish named staffing from unstaffed demand. - Preview with
upsert_assignments. Planned hours are replacement weekly totals, not hours to add to existing totals. - Review all changes, capacity warnings and notification effects. After confirmation, apply and read back with
list_assignments.
To fill an existing unstaffed line, use staff_project_demand instead. Apply with the expectedRevision returned by that preview. If the plan changed meanwhile, preview again. Named staffing on a Draft project still counts toward workload and can send notifications.
Change compensation history
Show Maya's current and upcoming compensation periods. Preview a monthly cost of 10,000 starting October 1st, 2026, with 32 available hours per week. Show the impact on assignments and wait before saving.
Use get_user_compensation, then manage_compensation with change.operation: "create". A period on the same effective date is a conflict: inspect it and explicitly choose an update rather than silently replacing it.
For a correction or deletion, use the exact periodId from the read result. Update preserves omitted fields. Deleting a period changes which earlier period applies. Review the returned impact, confirm, apply, and read the schedule again. Compensation edits require member-edit permission; bill rates have separate financial visibility rules.
See manage_compensation in the MCP reference for the create, update and delete variants. Examples use the app's current currency behavior; they do not change currency.
Update project billing
Read Acme relaunch's billing terms. Preview changing it to a monthly retainer of 12,000. Show the before and after values, explain what changes in revenue, and wait for confirmation.
Read get_project_details, preview the explicit billing fields with update_project, then apply after confirmation and read back the details and get_project_revenue_schedule.
Keep these separate:
| Record | Meaning | Tool |
|---|---|---|
| Billing terms | Fixed contract total, monthly retainer, hourly rate, or non-billable work | update_project |
| Monthly revenue | Recognition schedule and explicit corrections | get_project_revenue_schedule, change_project_monthly_revenue |
| Expenses | Fixed costs, percentages and permitted markup | get_project_expenses, manage_project_expenses |
| Invoices | Invoice records, status and recorded payments | list_project_invoices, create_project_invoice, record_invoice_payment |
Invoice payment tools record a payment; they do not transfer money. Billing-edit permission does not automatically expose salaries, costs or margins. Inspect each tool's preview support and required fields before issuing a write.
Request or approve time off
Show my available time-off types, then preview a request for November 2nd through 4th, 2026. Explain the dates and availability impact before submitting it.
Read list_time_off_types and get_my_time_off; use create_time_off to preview. Confirm the dates and remaining daily availability, then apply and read the request back. Availability is hours still available during leave, not hours taken off.
Approvers can inspect get_time_off_approvals, then preview and apply approve_time_off or reject_time_off for an exact request. Applying a change may send notifications or update a linked calendar. Restricted leave details remain hidden from unauthorized readers.
Recover from an uncertain write
If the connection fails after applying a change, read the current record before retrying. A timeout does not prove that nothing was saved. Imports report row outcomes; inspect failed rows and job status before resubmitting. See troubleshooting.