Connect OpenCode to Connecteam
What happens next
Set up in minutes
Choose where it runs
On your computer through your own OpenCode, or hosted in the cloud. The rest of setup adapts to your choice:
Pick what it can do in Connecteam
A preset of real Connecteam operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.
Connect Connecteam
One sign-in. The agent acts through your account, scoped to the operations you picked.
Add your personal MCP link
The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your OpenCode first calls in. opencode mcp add only saves the config. OpenCode connects when it starts — run opencode, or restart a running one.
1. Run this in your terminal
2. Choose Remote and paste your server URL
3. Choose No when asked about OAuth authentication — the link itself is the key
<your-link> is your personal server URL — setup mints it for you.
Exact capabilities
Tools OpenCode gets
Connecteam
154 toolsRetrieve the account information
Retrieves a list of all users associated with the account. Optionally, filter by user ID to receive specific user information
Update individual or multiple users associated with the account using the provided details. You can specify updates either by their phone number or unique userID.
Create individual or multiple users associated with the account using the provided details.
Archive or permanently delete individual or multiple users associated with the account by their unique userID. In case of deletion, it will permanently delete the users from the system and cannot be undone.
Delete or archive user associated with the account. In case of deletion, it will permanently delete the user from the system and cannot be undone.
Retrieves all custom fields associated with the account. Optionally, filter the results by categories, names, types, or custom field IDs.
Retrieves all custom fields categories associated with the account. Optionally, filter the results by category IDs and/or names.
Update custom fields settings by their unique ID
Create individual or multiple custom fields associated with the account under a specific category.
Delete individual or multiple custom fields associated with the account by their unique ID.
Retrieve a list of all dropdown value options under a specified custom field
Add new option for a specified custom field.The option will be added to the existing ones and will not overwrite them.Currently supports dropdown custom fields options.
Update the value for an option under a specified custom field
Delete the value for an option under a specified custom field
Create a new segment for smart groups associated with the account. The segment can be assigned a name and a color.
Create a new smart group under a specified segment. The smart group settings are currently based only on dropdown custom field type (support for additional field types will be added in the future). The created group is dynamic, meaning any new or existing users who meet the selected value criteria will be automatically added to the smart group.
Retrieves a list of smart groups associated with the account.
Retrieves all smart group segments associated with the account. Optionally, filter the results by segment IDs and/or names.
Update an existing smart group by its unique identifier. Any changes to the applied filters will override the current settings and may result in changes to the users associated with the smart group.
Delete existing smart group by its unique identifier
Promote an existing user to an admin. An invitation link will be sent to the specified email address of the user
Create new note on the profile of the specified user
Upload a payslip for a user for a specified period. The payslip attachment must be uploaded first via the attachments endpoint.
Update or add performance data values for a specific user on a given date. If a value already exists for that date, it will be replaced with the new value. If no value exists, the new value will be added.
Retrieve the metric indicators of the performance data associated with account.
Retrieve a list of assigned assets of a specified user within the account. The available asset types are defined in the corresponding assetTypes enumeration param.
Retrieve all onboarding packs for the company
Retrieve all user assignments for a specific onboarding pack
Assign one or more users to a specific onboarding pack. All-or-nothing: if any user ID is invalid, no assignments are created.
Retrieve a list of scheduling rule policies associated with the account
Retrieve the scheduling rule policies assigned to a user, including employee-profile custom rules
Retrieve all assignments for a specific scheduling rule policy
Delete a scheduling rule policy and all its assignments
Assign one or more users to the specified scheduling rule policy. Pass the users in the userIds array. If a user is already assigned to another scheduling rule policy, that assignment is replaced.
Retrieve shared working hours policies for the account, including disabled policies
Retrieve the working hours assigned to a user. Returns an empty object when the user has no working hours
Assign users to the specified working hours policy. Replaces custom working hours for those users
Create or replace custom working hours for a user. Any shared working hours assignment is replaced
Remove custom working hours for a user. A shared working hours assignment is kept
Remove a user's assignment to this working hours policy. Custom working hours are kept
Retrieve all assignments for a specific pay rule policy that are in effect on the given date
Retrieve a list of pay rules associated with the account.
Retrieve a list of policies associated with the account. Currently supports pay rule policies.
Add an existing pay rule to the specified pay rule policy. Adding a regular pay rule replaces the policy's current regular pay rule. Adding a pay rule the policy already contains succeeds unchanged.
Assign user to specified pay rule policy. If the provided effective date is earlier than the currently assigned policy's effective date, the existing policy assignment will be replaced and removed.
Remove a specific assignment from a pay rule policy
Remove a pay rule from the specified pay rule policy. The policy itself and its user assignments are never deleted by this operation.
Retrieve all metadata associated with a specified asset.
Retrieve daily sales totals per location for a date range. Each entry includes totalSales (aggregated from transactions) and projectedSales (set via Set projected sales). Required query parameters: startDate and endDate (ISO 8601, YYYY-MM-DD). Optionally filter by locationIds; if omitted, all account locations are included. Only days with stored daily aggregation data are returned; days with no data are omitted (not returned as zero). To record or change actual sales, use the Create transactions
Retrieve a list of locations associated with the account
Create new sale transactions for specified locations.
Create a new location entity, which can be used to sync sales data with third-party systems. Location can represent a physical branch, store or facility.
Set projected sales for a single location for one or more days in a single request. Each item in updates specifies a date and projectedSales value; each date may appear only once. This replaces the projected total for that day and does not modify totalSales. To record or change actual (totalSales) values, use the Create transactions endpoint. Location IDs are available from the Get locations endpoint.
Delete single transaction by its ID
Delete transactions within a specified time period. All transactions during this period will be permanently removed.
Generates a pre-signed URL that can be used to securely upload an attachment to the cloud. The pre-signed URL ensures temporary access for the upload (300 seconds), and it will be associated with a specific feature within the application.
Finalizes the upload process for the attachment identified by the fileId. It confirms and registers the uploaded file, ensuring it is properly associated with the relevant feature.
Retrieve detailed information about a previously uploaded attachment identified by the fileId. The response includes its metadata, and the status of the upload process.
Generates a time limited URL for downloading a file.
Retrieve a list of task boards associated with the account
Retrieve a list of task labels associated with the account
Update a quick task under a specified task board. Any new attachments will replace the existing ones.
Delete quick task under a specified task board
Retrieves a list of tasks under a specified task board
Create quick task for specified users by their ID, detailing information such as title, due date and description. Attachments for the quick task must first be uploaded via the attachments endpoint.
Create a single sub-task under a specified parent task
Retrieve a list of sub-tasks under a specified parent task
Update a single sub-task under a specified parent task
Delete a single sub-task under a specified parent task
Retrieves a list of custom publishers associated with the account.
Retrieves a list of team chats and/or channels associated with the account. The list excludes private conversations.
Creates a team chat or channel as the authenticated user. Members are assigned via userIds (individual users) and/or smartGroupIds (dynamic cohorts) - at least one assignment is required. Use type: "team" for a collaborative chat where members can send messages, or type: "channel" for a broadcast group where only admins post. A custom publisher can subsequently post into the created group via POST /chat/v1/conversations/{conversationId}/message.
Sends a new message to a specific chat, whether it’s channel or a team chat
Send a private message to a specified user within the account. The sender will be a custom publisher. If a conversation between the custom publisher and the addressed user already exists, it will send the message to the same conversation, if not, it will create a new conversation with the specified user.
Get a list of job objects relevant to instance id (scheduler id or time clock id). If unified jobs are disabled, only schedulers are supported
Retrieve a single job information by its unique ID
Create individual or multiple jobs under a specified scheduler
Update a single job by its unique identifier. Currently, updating job with nested sub-jobs is not supported.
Delete a single job by its unique identifier. Currently, deleting a sub-job and/or job with nested sub-jobs is not supported.
Retrieves all resource custom fields associated with the account. Optionally, filter the results by custom field IDs, names, or types.
Retrieve a list of schedulers associated with the account
Retrieve a list of user unavailabilities, approved time-off requests and assigned shifts
Retrieve a list of shifts under a specific schedule
Retrieve single shift information by its unique ID
Delete single or multiple shifts in a specified schedule
Create single or multiple shifts under a specific schedule
Update single or multiple shifts under a specific schedule
Delete a single shift by its unique ID
Retrieve a list of user unavailabilities, approved time-off requests and assigned shifts
Retrieve the status of an auto-assign request using its unique request ID. The response categorizes the results into 'scheduled shifts' for successfully assigned shifts and 'unscheduled shifts' for those where auto-assignment was not successful.
Retrieve a list of shifts under a specific schedule
Retrieve single shift information by its unique ID
Initiate a request to auto-assign shifts by their IDs. If multiple IDs are provided, all corresponding shifts must occur within the same work week (e.g., Monday to Sunday). This endpoint only submits the request; processing may take a few minutes. The auto-assignment considers user preferences to work, unavailability, and approved time off. For assignment status, refer to the auto-assign status endpoint.
Create single or multiple shifts under a specific schedule
Update single or multiple shifts under a specific schedule
Delete single or multiple shifts in a specified schedule
Delete a single shift by its unique ID
Retrieves all shift custom fields associated with the scheduler
Create a single unavailability in the specified schedule for a designated user on a given date. The unavailability can be set for the entire day or for a specific part of it. Repeating unavailabilities are currently not supported. The timezone of the unavailability will be determined based on the schedule's settings.
Retrieve a list of unavailabilities under a specific schedule filtered by date range. The response is paginated and can be filtered by user ID.
Delete existing unavailability by its unavailability ID
Initiate a request to auto-assign shifts by their IDs. If multiple IDs are provided, all corresponding shifts must occur within the same work week (e.g., Monday to Sunday). This endpoint only submits the request; processing may take a few minutes. The auto-assignment considers user preferences to work, unavailability, and approved time off. For assignment status, refer to the auto-assign status endpoint.
Retrieve the status of an auto-assign request using its unique request ID. The response categorizes the results into 'scheduled shifts' for successfully assigned shifts and 'unscheduled shifts' for those where auto-assignment was not successful.
Retrieve a list of shift layers under a specified schedule
Retrieve the possible values of a shift layer
Get a single note by its unique identifier
Create a note under a specified schedule for a specific date
Update a single note by its unique identifier
Delete a single note by its unique identifier
Creates or updates pay rates for one or more users. If a pay rate exists for the same effective date, it is replaced; otherwise, a new entry is added to the pay rate history. The effective date cannot be on or after any approved or locked timesheet days. If such days exist, the request fails with HAS_LOCKED_DAYS. For bulk requests with resource rates enabled, the system validates user eligibility and tracks all changes. When isResourceRateEnabled is true, resourcesRates must include all resource
Retrieves pay rate information for one or more users within your organization. This endpoint supports flexible filtering by effective dates, rate types, and resource assignments. It's designed for payroll integration scenarios where you need to fetch pay rates for multiple employees at once. The response includes historical modification data when requested, allowing you to track changes over time for audit and compliance purposes. Pagination is supported for large result sets.
Deletes a specific pay rate entry for a user. The pay rate is identified by the user ID and effective date. This operation cannot be undone. The system validates that the effective date does not affect any approved or locked timesheet days. If the user has any approved or locked days on or after this effective date, the delete request will fail with error code HAS_LOCKED_DAYS. You cannot delete pay rates that are currently being used for finalized payroll calculations. Additionally, at least one
Retrieves detailed work records for each employee within a specified date range. This endpoint is designed to support payroll processing by providing total worked hours, categorized by pay rules and resource (if applied in the account settings). Ideal for integrating with external payroll systems to ensure accurate information. The pay rate will be presented in case it is defined within the account. If an automated unpaid break is applied, it will be deducted from the total hours value. In orde
Retrieve a list of time clocks associated with the account
Retrieve a list of time activities in under a specified time clock. Time activities include shift and/or manual breaks
Get shift attachments of a time clock
Get multiple manual breaks of a time clock
Record the start time for the work period of an employee. The start time is automatically captured when the call is executed.
Record the end time for the work period of an employee. The end time is automatically captured when the call is executed. The clock-out will be associated with the current open shift.
Update time activities for users assigned to a specific time clock. Time activities can include adjustments to shifts and/or manual breaks.
Create multiple time activities in a time clock
Locks or unlocks one or more calendar days for a specific user on a given Time Clock. The isLocked boolean on the request body selects the operation: true (the default) prevents subsequent time-activity edits on those dates; false removes the per-day lock and allows edits again. Idempotent: dates already in the requested state are no-ops, and the response reflects the final state. This endpoint does not reopen approved payroll periods. If isLocked is false and any of the requested dates would ac
Deletes a single time activity (a punch shift or a manual break) from a specified time clock. The activity is identified by its unique ID - the same id returned by GET .../time-activities (and used in PUT). The server resolves which user the activity belongs to; the caller supplies only the time clock and the activity ID. The activity cannot be deleted if it falls on a locked or approved timesheet day; the request fails with HAS_LOCKED_DAYS. Time-off / absence entries are not addressable here an
Get all geofences for a specified time clock
Create one or more geofences for the specified time clock. Use jobIdsMode with jobIds to control which jobs each geofence applies to (all jobs, only listed jobs, or all jobs except listed ones). Job IDs must belong to that time clock.
Get a geofence site under a specified time clock
Delete a geofence site under a specified time clock
Stream the breadcrumbs JSON report directly from S3. Only available when the task status is 'completed'.
Get the status of a breadcrumbs report task. Returns 'completed' when the file is ready in S3.
Initiate a breadcrumbs report for a specific date. Returns a request ID that can be used to check the report status.
End the currently open manual break for an employee. By default, if the break was started from an open shift, the shift is re-opened on the same job (mobile 'Return to job'). Set isResumeShift=false to end the break without resuming. Mandatory breaks cannot be ended before their configured minimum duration. Pass an optional timestamp to record a break that ended earlier (offline sync).
Start a manual break for an employee. If the employee is clocked into a shift on the same time clock, the shift is automatically closed and the break is started in one call (attributed to the shift's job). If the employee is idle, the break starts standalone. Pass an optional timestamp to record a break that started earlier (offline sync).
Retrieve a list of policy types associated with the account
Retrieve a list of user time-off balances within a policy type
Retrieve a paginated list of time-off requests whose date range overlaps the requested window, with optional filtering by employees and statuses. Approved requests include duration (the amount deducted from balance, in the policy units of hours or days); it is omitted for other statuses. Defaults to approved status when no status filter is provided.
Create a new time-off request for a user under a specified policy. The time-off request can be either in pending or approved status.
Update an existing time-off request. The time-off request can be modified with new dates, times, status, or notes.
Update user time-off balance within a policy type
Assign user to specified time-off policy.
Retrieve single form information by its unique ID
Retrieve a list of form submissions by form ID
Retrieve a list of forms associated with the account
Retrieve a single form submission by form submission ID
Update a single form submission by form submission ID. Currently, updates are only supported for manager fields.
Add a new value option under a specified question. The value will be added to the existing value options and will not override them. Make sure the question type is of dropdown one.
Retrieve the list of selectable options for a dropdown-type question within a specified form.
Update the label of an existing option in a dropdown-type question within a specified form. This action overrides the current value.
Delete an existing selectable option from a dropdown-type question within a specified form.
Retrieve single webhook information by its unique ID
Update an existing webhook settings by its unique ID.
Delete a single webhook configuration by its unique ID
Retrieves a list of webhook settings associated with the account.
Create individual webhook settings under specified details
Meet the runner
About OpenCode
Good to know
Frequently asked questions
Keep exploring
More ways to connect
More tools for OpenCode
Use Connecteam with other agents
Make it yours
Open your OpenCode agent in one click.
NoClick runs OpenCode for you with Connecteam wired in as tools. Connect your account and run.