All integrations

Connecteam

BUSINESS · PEOPLE

Users, shifts, jobs, time clocks, and pay rules in the account they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

connecteam_delete_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignments_by_assignmentidWRITE

Remove a pay rule policy assignment, via DELETE /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments/{assignmentId}.

api
connecteam_delete_company_policies_v1_pay_rule_policies_by_payrulepolicyid_pay_rules_by_payruleidWRITE

Remove a pay rule from a pay rule policy, via DELETE /company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}.

api
connecteam_delete_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyidWRITE

Delete a scheduling rule policy, via DELETE /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}.

api
connecteam_delete_company_policies_v1_users_by_userid_working_hoursWRITE

Delete a user's custom working hours, via DELETE /company-policies/v1/users/{userId}/working-hours.

api
connecteam_delete_company_policies_v1_working_hours_policies_by_workinghourspolicyid_assignments_by_useridWRITE

Unassign a user from a working hours policy, via DELETE /company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments/{userId}.

api
connecteam_delete_daily_info_v1_daily_note_by_noteidWRITE

Delete a daily note, via DELETE /daily-info/v1/daily-note/{noteId}.

api
connecteam_delete_forms_v1_forms_by_formid_questions_by_questionid_options_by_optionidWRITE

Delete a dropdown option, via DELETE /forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}.

api
connecteam_delete_jobs_v1_jobs_by_jobidWRITE

Delete a job, via DELETE /jobs/v1/jobs/{jobId}.

api
connecteam_delete_pay_rates_v1_pay_rates_users_by_userid_by_effectivedateWRITE

Delete a user's pay rate for one effective date, via DELETE /pay-rates/v1/pay-rates/users/{userId}/{effectiveDate}. Removes ONE dated pay rate, addressed by user and effective date. The user's other dated rates survive, so deleting the current one makes the previous dated rate take effect rather than leaving them unpaid.

api
connecteam_delete_sales_v1_transactionsWRITE

Delete every sales transaction in a period, via DELETE /sales/v1/transactions. DELETES BY PERIOD, NOT BY ID, and it takes no body: `locationId`, `startTime` and `endTime` are REQUIRED query parameters and everything inside that window at that location goes. A wrong `endTime` is not a failed call, it is a wider delete that succeeds. Use 'Delete one sales transaction' when you know the id.

api
connecteam_delete_sales_v1_transactions_by_transactionidWRITE

Delete one sales transaction, via DELETE /sales/v1/transactions/{transactionId}.

api
connecteam_delete_scheduler_v1_schedulers_by_schedulerid_shiftsWRITE

Delete shifts by id, in bulk (scheduler v1), via DELETE /scheduler/v1/schedulers/{schedulerId}/shifts. BULK: the scheduler is named in the path and the shifts to remove in the body, as `shiftsIds` -- up to 20 per call. `notifyUsers` decides whether the assigned employees are told, which is a real-world effect rather than a formatting choice.

api
connecteam_delete_scheduler_v1_schedulers_by_schedulerid_shifts_by_shiftidWRITE

Delete one shift (scheduler v1), via DELETE /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}.

api
connecteam_delete_scheduler_v1_schedulers_by_schedulerid_unavailability_by_unavailabilityidWRITE

Delete a scheduler unavailability, via DELETE /scheduler/v1/schedulers/{schedulerId}/unavailability/{unavailabilityId}.

api
connecteam_delete_scheduler_v2_schedulers_by_schedulerid_shiftsWRITE

Delete shifts by id, in bulk (scheduler v2), via DELETE /scheduler/v2/schedulers/{schedulerId}/shifts. BULK: the scheduler is named in the path and the shifts to remove in the body, as `shiftsIds` -- up to 20 per call. `notifyUsers` decides whether the assigned employees are told. The v2 shape of the same operation; pick the version the rest of your scheduler calls use.

api
connecteam_delete_scheduler_v2_schedulers_by_schedulerid_shifts_by_shiftidWRITE

Delete one shift (scheduler v2), via DELETE /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}.

api
connecteam_delete_settings_v1_webhooks_by_webhookidWRITE

Delete a webhook, via DELETE /settings/v1/webhooks/{webhookId}.

api
connecteam_delete_tasks_v1_taskboards_by_taskboardid_tasks_by_taskidWRITE

Delete a task, via DELETE /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}.

api
connecteam_delete_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks_by_subtaskidWRITE

Delete a subtask, via DELETE /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}.

api
connecteam_delete_time_clock_v1_time_clocks_by_timeclockid_geofences_by_fenceidWRITE

Delete a geofence, via DELETE /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}.

api
connecteam_delete_time_clock_v1_time_clocks_by_timeclockid_time_activities_by_timeactivityidWRITE

Delete a time activity, via DELETE /time-clock/v1/time-clocks/{timeClockId}/time-activities/{timeActivityId}.

api
connecteam_delete_users_v1_custom_fieldsWRITE

Delete user custom fields, via DELETE /users/v1/custom-fields. BULK: `customFieldIds` in the body, up to 100 per call. Deleting a custom field removes the VALUE it holds on every user, not just the field definition.

api
connecteam_delete_users_v1_custom_fields_by_customfieldid_options_by_optionidWRITE

Delete a user custom field option, via DELETE /users/v1/custom-fields/{customFieldId}/options/{optionId}.

api
connecteam_delete_users_v1_pending_usersWRITE

Delete pending users, in bulk, via DELETE /users/v1/pending-users. BULK: `ids` in the body. A pending user is someone invited who has not yet joined; deleting one withdraws the invitation.

api
connecteam_delete_users_v1_pending_users_by_pendinguseridWRITE

Delete a pending user, via DELETE /users/v1/pending-users/{pendingUserId}.

api
connecteam_delete_users_v1_smart_groups_by_smartgroupidWRITE

Delete a smart group, via DELETE /users/v1/smart-groups/{smartGroupId}.

api
connecteam_delete_users_v1_usersWRITE

Archive or delete users, in bulk, via DELETE /users/v1/users. BULK, AND IT IS BOTH ARCHIVE AND DELETE. The body is a plain JSON ARRAY of user ids, and `deletionType` decides which of the two happens -- an archive is reversible in the product, a delete is not. There is no per-user confirmation in between: every id in the array is acted on. Send the ids you mean and read `deletionType` before you do.

api
connecteam_delete_users_v1_users_by_useridWRITE

Delete one user, via DELETE /users/v1/users/{userId}. Deletes ONE user, addressed entirely by path, with no body and no `deletionType` -- so this is the delete, not the archive. Use 'Archive or delete users, in bulk' when you want the reversible option.

api
connecteam_get_assets_v1_asset_by_assetidREAD

Get an asset's metadata, via GET /assets/v1/asset/{assetId}.

api
connecteam_get_attachments_v1_files_by_fileidREAD

Get one file's download URL, via GET /attachments/v1/files/{fileId}. Returns a signed DOWNLOAD URL and the file's metadata, never the bytes. Fetch the URL yourself; it is time-limited.

api
connecteam_get_chat_v1_conversationsREAD

List chat conversations, via GET /chat/v1/conversations.

api
connecteam_get_company_policies_v1_pay_rule_policiesREAD

List pay rule policies, via GET /company-policies/v1/pay-rule-policies.

api
connecteam_get_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignmentsREAD

List a pay rule policy's assignments, via GET /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments.

api
connecteam_get_company_policies_v1_pay_rulesREAD

List pay rules, via GET /company-policies/v1/pay-rules.

api
connecteam_get_company_policies_v1_scheduling_rule_policiesREAD

List scheduling rule policies, via GET /company-policies/v1/scheduling-rule-policies.

api
connecteam_get_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid_assignmentsREAD

List a scheduling rule policy's assignments, via GET /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments.

api
connecteam_get_company_policies_v1_users_by_userid_scheduling_rule_policiesREAD

List a user's scheduling rule policies, via GET /company-policies/v1/users/{userId}/scheduling-rule-policies.

api
connecteam_get_company_policies_v1_users_by_userid_working_hoursREAD

Get a user's working hours, via GET /company-policies/v1/users/{userId}/working-hours.

api
connecteam_get_company_policies_v1_working_hours_policiesREAD

List working hours policies, via GET /company-policies/v1/working-hours-policies.

api
connecteam_get_daily_info_v1_daily_note_by_noteidREAD

Get a daily note, via GET /daily-info/v1/daily-note/{noteId}.

api
connecteam_get_forms_v1_formsREAD

List forms, via GET /forms/v1/forms.

api
connecteam_get_forms_v1_forms_by_formidREAD

Get a form, via GET /forms/v1/forms/{formId}.

api
connecteam_get_forms_v1_forms_by_formid_form_submissionsREAD

List form submissions, via GET /forms/v1/forms/{formId}/form-submissions.

api
connecteam_get_forms_v1_forms_by_formid_form_submissions_by_formsubmissionidREAD

Get a form submission, via GET /forms/v1/forms/{formId}/form-submissions/{formSubmissionId}.

api
connecteam_get_forms_v1_forms_by_formid_questions_by_questionidREAD

List a dropdown question's options, via GET /forms/v1/forms/{formId}/questions/{questionId}.

api
connecteam_get_jobs_v1_custom_fieldsREAD

List job custom fields, via GET /jobs/v1/custom-fields.

api
connecteam_get_jobs_v1_jobsREAD

List jobs, via GET /jobs/v1/jobs.

api
connecteam_get_jobs_v1_jobs_by_jobidREAD

Get a job, via GET /jobs/v1/jobs/{jobId}.

api
connecteam_get_meREAD

Get the connected Connecteam account, via GET /me. The connection's health check and the smallest possible read: it returns the company's own id and name. It is the endpoint this provider's connect probe calls, and the one worth calling first when a tool fails, because its answer separates the two failures a Connecteam 401/403 can mean -- measured 2026-09-25, a WRONG key answers 403 {"detail":"Invalid API key"} while a MISSING header answers 401.

api
connecteam_get_onboarding_v1_packsREAD

List onboarding packs, via GET /onboarding/v1/packs.

api
connecteam_get_onboarding_v1_packs_by_packid_assignmentsREAD

List an onboarding pack's assignments, via GET /onboarding/v1/packs/{packId}/assignments.

api
connecteam_get_pay_rates_v1_pay_ratesREAD

List pay rates, via GET /pay-rates/v1/pay-rates.

api
connecteam_get_publishers_v1_publishersREAD

List publishers, via GET /publishers/v1/publishers.

api
connecteam_get_sales_v1_daily_salesREAD

List daily sales, via GET /sales/v1/daily-sales.

api
connecteam_get_sales_v1_locationsREAD

List sales locations, via GET /sales/v1/locations.

api
connecteam_get_scheduler_v1_schedulersREAD

List schedulers, via GET /scheduler/v1/schedulers.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_custom_fieldsREAD

List a scheduler's shift custom fields, via GET /scheduler/v1/schedulers/{schedulerId}/custom-fields.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shift_layersREAD

List a scheduler's shift layers, via GET /scheduler/v1/schedulers/{schedulerId}/shift-layers.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shift_layers_by_layerid_valuesREAD

List a shift layer's values, via GET /scheduler/v1/schedulers/{schedulerId}/shift-layers/{layerId}/values.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shiftsREAD

List shifts (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts. `startTime` and `endTime` are REQUIRED (Unix seconds): Connecteam will not return an unbounded shift history. The v1 shape -- see 'List shifts (scheduler v2)' for the newer one; both are live and they are not interchangeable, so read shifts back with the version you wrote them with.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts_auto_assign_by_autoassignrequestidREAD

Get a shift auto-assign request's status (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_shifts_by_shiftidREAD

Get a shift (scheduler v1), via GET /scheduler/v1/schedulers/{schedulerId}/shifts/{shiftId}.

api
connecteam_get_scheduler_v1_schedulers_by_schedulerid_unavailabilitiesREAD

List a scheduler's unavailabilities, via GET /scheduler/v1/schedulers/{schedulerId}/unavailabilities.

api
connecteam_get_scheduler_v1_schedulers_user_unavailabilityREAD

List one user's unavailability (scheduler v1), via GET /scheduler/v1/schedulers/user-unavailability.

api
connecteam_get_scheduler_v2_schedulers_by_schedulerid_shiftsREAD

List shifts (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts. `startTime` and `endTime` are REQUIRED (Unix seconds). The v2 shape of the same listing; both versions are live and carry the same eight operations, so pick one and stay on it within a workflow.

api
connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts_auto_assign_by_autoassignrequestidREAD

Get a shift auto-assign request's status (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign/{autoAssignRequestId}.

api
connecteam_get_scheduler_v2_schedulers_by_schedulerid_shifts_by_shiftidREAD

Get a shift (scheduler v2), via GET /scheduler/v2/schedulers/{schedulerId}/shifts/{shiftId}.

api
connecteam_get_scheduler_v2_schedulers_user_unavailabilityREAD

List one user's unavailability (scheduler v2), via GET /scheduler/v2/schedulers/user-unavailability.

api
connecteam_get_settings_v1_webhooksREAD

List webhooks by feature type, via GET /settings/v1/webhooks.

api
connecteam_get_settings_v1_webhooks_by_webhookidREAD

Get a webhook, via GET /settings/v1/webhooks/{webhookId}.

api
connecteam_get_tasks_v1_taskboardsREAD

List task boards, via GET /tasks/v1/taskboards.

api
connecteam_get_tasks_v1_taskboards_by_taskboardid_labelsREAD

List task board labels, via GET /tasks/v1/taskboards/{taskBoardId}/labels.

api
connecteam_get_tasks_v1_taskboards_by_taskboardid_tasksREAD

List tasks, via GET /tasks/v1/taskboards/{taskBoardId}/tasks.

api
connecteam_get_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasksREAD

List a task's subtasks, via GET /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks.

api
connecteam_get_time_clock_breadcrumbs_v1_report_by_fileidREAD

Get a breadcrumbs report's status, via GET /time-clock/breadcrumbs/v1/report/{fileId}.

api
connecteam_get_time_clock_breadcrumbs_v1_report_by_fileid_downloadREAD

Get a breadcrumbs report's download link, via GET /time-clock/breadcrumbs/v1/report/{fileId}/download. Returns a signed download LINK for a finished breadcrumbs report, not the report itself. Breadcrumbs are employees' recorded GPS trails -- location data about identifiable people -- so treat the link as personal data and do not paste it anywhere it will outlive its expiry.

api
connecteam_get_time_clock_v1_time_clocksREAD

List time clocks, via GET /time-clock/v1/time-clocks.

api
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_geofencesREAD

List geofences, via GET /time-clock/v1/time-clocks/{timeClockId}/geofences.

api
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_geofences_by_fenceidREAD

Get a geofence, via GET /time-clock/v1/time-clocks/{timeClockId}/geofences/{fenceId}.

api
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_manual_breaksREAD

List manual break types, via GET /time-clock/v1/time-clocks/{timeClockId}/manual-breaks.

api
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_shift_attachmentsREAD

List time-clock shift attachments, via GET /time-clock/v1/time-clocks/{timeClockId}/shift-attachments.

api
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_time_activitiesREAD

List time activities, via GET /time-clock/v1/time-clocks/{timeClockId}/time-activities.

api
connecteam_get_time_clock_v1_time_clocks_by_timeclockid_timesheetREAD

Get timesheet total hours, via GET /time-clock/v1/time-clocks/{timeClockId}/timesheet. Returns TOTALS for the window, not the individual time activities. Use 'List time activities' when you need the underlying punches.

api
connecteam_get_time_off_v1_policy_typesREAD

List time-off policy types, via GET /time-off/v1/policy-types.

api
connecteam_get_time_off_v1_policy_types_by_policytypeid_balancesREAD

List time-off balances for a policy type, via GET /time-off/v1/policy-types/{policyTypeId}/balances.

api
connecteam_get_time_off_v1_requestsREAD

List time-off requests, via GET /time-off/v1/requests.

api
connecteam_get_users_v1_custom_field_categoriesREAD

List user custom field categories, via GET /users/v1/custom-field-categories.

api
connecteam_get_users_v1_custom_fieldsREAD

List user custom fields, via GET /users/v1/custom-fields.

api
connecteam_get_users_v1_custom_fields_by_customfieldid_optionsREAD

List a user custom field's options, via GET /users/v1/custom-fields/{customFieldId}/options.

api
connecteam_get_users_v1_pending_usersREAD

List pending users, via GET /users/v1/pending-users.

api
connecteam_get_users_v1_performance_indicatorsREAD

List performance indicators, via GET /users/v1/performance-indicators.

api
connecteam_get_users_v1_smart_group_segmentsREAD

List smart group segments, via GET /users/v1/smart-group-segments.

api
connecteam_get_users_v1_smart_groupsREAD

List smart groups, via GET /users/v1/smart-groups.

api
connecteam_get_users_v1_usersREAD

List users, via GET /users/v1/users. Paged: `limit` (default 10, maximum 500) and `offset`, where the response's `paging.offset` is what to pass next. `userStatus` defaults to `active`, so ARCHIVED USERS ARE ABSENT unless you ask for `archived` or `all` -- the most common reason a user 'is missing'.

api
connecteam_get_users_v1_users_by_userid_assignmentsREAD

List a user's assignments, via GET /users/v1/users/{userId}/assignments.

api
connecteam_post_attachments_v1_files_download_urlWRITE

Get download URLs for several files, via POST /attachments/v1/files/download-url. The batch form of 'Get one file's download URL' -- several file ids in, several signed URLs out. A POST because the id list is a body, not because it changes anything; it is catalogued as a write for that reason and `attachments.read` is the permission it needs.

api
connecteam_post_attachments_v1_files_generate_upload_urlWRITE

Start a file upload (get a signed upload URL), via POST /attachments/v1/files/generate-upload-url. STEP 1 OF 3, and Agentic Fabriq carries no bytes in either direction. This returns a SIGNED URL your own client PUTs the file to; then call 'Finish a file upload' with the file id to register it with Connecteam. Nothing here accepts or returns file content -- a tool argument and a tool result are JSON in a model's context window.

api
connecteam_post_chat_v1_conversationsWRITE

Create a chat conversation, via POST /chat/v1/conversations.

api
connecteam_post_chat_v1_conversations_by_conversationid_messageWRITE

Send a message to a chat conversation, via POST /chat/v1/conversations/{conversationId}/message. SENDS A REAL MESSAGE to real employees, immediately and irreversibly: there is no unsend on this API. Not marked destructive -- nothing is deleted -- but it is the tool on this surface most likely to have an effect a customer cannot take back.

api
connecteam_post_chat_v1_conversations_privatemessage_by_useridWRITE

Send a private chat message to a user, via POST /chat/v1/conversations/privateMessage/{userId}. Sends a one-to-one message to that user, immediately and irreversibly. If no private conversation exists yet Connecteam opens one, so this also creates a conversation as a side effect.

api
connecteam_post_daily_info_v1_daily_notesWRITE

Create daily notes, via POST /daily-info/v1/daily-notes.

api
connecteam_post_forms_v1_forms_by_formid_questions_by_questionidWRITE

Add options to a dropdown question, via POST /forms/v1/forms/{formId}/questions/{questionId}.

api
connecteam_post_jobs_v1_jobsWRITE

Create jobs, via POST /jobs/v1/jobs.

api
connecteam_post_onboarding_v1_packs_by_packid_assignmentsWRITE

Assign users to an onboarding pack, via POST /onboarding/v1/packs/{packId}/assignments.

api
connecteam_post_sales_v1_locationsWRITE

Create a sales location, via POST /sales/v1/locations.

api
connecteam_post_sales_v1_transactionsWRITE

Create sales transactions, via POST /sales/v1/transactions.

api
connecteam_post_scheduler_v1_schedulers_by_schedulerid_shiftsWRITE

Create shifts (scheduler v1), via POST /scheduler/v1/schedulers/{schedulerId}/shifts.

api
connecteam_post_scheduler_v1_schedulers_by_schedulerid_shifts_auto_assignWRITE

Start shift auto-assign (scheduler v1), via POST /scheduler/v1/schedulers/{schedulerId}/shifts/auto-assign. ASYNCHRONOUS. It answers with a request id and returns before any shift is assigned; poll 'Get a shift auto-assign request's status (scheduler v1)' with that id until it reports completion.

api
connecteam_post_scheduler_v1_schedulers_by_schedulerid_unavailabilityWRITE

Create a scheduler unavailability, via POST /scheduler/v1/schedulers/{schedulerId}/unavailability.

api
connecteam_post_scheduler_v2_schedulers_by_schedulerid_shiftsWRITE

Create shifts (scheduler v2), via POST /scheduler/v2/schedulers/{schedulerId}/shifts.

api
connecteam_post_scheduler_v2_schedulers_by_schedulerid_shifts_auto_assignWRITE

Start shift auto-assign (scheduler v2), via POST /scheduler/v2/schedulers/{schedulerId}/shifts/auto-assign. ASYNCHRONOUS. It answers with a request id and returns before any shift is assigned; poll 'Get a shift auto-assign request's status (scheduler v2)' with that id until it reports completion.

api
connecteam_post_settings_v1_webhooksWRITE

Create a webhook, via POST /settings/v1/webhooks.

api
connecteam_post_tasks_v1_taskboards_by_taskboardid_tasksWRITE

Create a task, via POST /tasks/v1/taskboards/{taskBoardId}/tasks.

api
connecteam_post_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasksWRITE

Create a subtask, via POST /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks.

api
connecteam_post_time_clock_breadcrumbs_v1_reportWRITE

Start a breadcrumbs (GPS trail) report, via POST /time-clock/breadcrumbs/v1/report. ASYNCHRONOUS, and it produces employee LOCATION HISTORY. It starts a report and answers with a file id; poll 'Get a breadcrumbs report's status' until it is ready, then 'Get a breadcrumbs report's download link'. Catalogued as a write because it creates a report artifact, though it changes no time-clock data.

api
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_clock_inWRITE

Clock a user in, via POST /time-clock/v1/time-clocks/{timeClockId}/clock-in.

api
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_clock_outWRITE

Clock a user out, via POST /time-clock/v1/time-clocks/{timeClockId}/clock-out.

api
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_geofencesWRITE

Create geofences, via POST /time-clock/v1/time-clocks/{timeClockId}/geofences.

api
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_manual_breaks_by_manualbreakid_clock_inWRITE

Start a manual break, via POST /time-clock/v1/time-clocks/{timeClockId}/manual-breaks/{manualBreakId}/clock-in.

api
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_manual_breaks_clock_outWRITE

End a manual break, via POST /time-clock/v1/time-clocks/{timeClockId}/manual-breaks/clock-out.

api
connecteam_post_time_clock_v1_time_clocks_by_timeclockid_time_activitiesWRITE

Create time activities, via POST /time-clock/v1/time-clocks/{timeClockId}/time-activities.

api
connecteam_post_time_off_v1_requestsWRITE

Create a time-off request, via POST /time-off/v1/requests.

api
connecteam_post_users_v1_adminsWRITE

Invite an admin, via POST /users/v1/admins. GRANTS ADMINISTRATIVE ACCESS to the Connecteam account. An invited admin can see and change what admins can see and change -- including, on an owner-level account, the API settings this connection's own key lives in. Catalogued as a write because it creates a record; read it as a permission change.

api
connecteam_post_users_v1_custom_fieldsWRITE

Create user custom fields, via POST /users/v1/custom-fields.

api
connecteam_post_users_v1_custom_fields_by_customfieldid_optionsWRITE

Add options to a user custom field, via POST /users/v1/custom-fields/{customFieldId}/options.

api
connecteam_post_users_v1_pending_usersWRITE

Create pending users, via POST /users/v1/pending-users.

api
connecteam_post_users_v1_smart_group_segmentsWRITE

Create a smart group segment, via POST /users/v1/smart-group-segments.

api
connecteam_post_users_v1_smart_groupsWRITE

Create a smart group, via POST /users/v1/smart-groups.

api
connecteam_post_users_v1_usersWRITE

Create users, via POST /users/v1/users. BULK CREATE over a JSON ARRAY. Creating a user in Connecteam can send them an invitation, so this reaches real people; check the array before sending it rather than after.

api
connecteam_post_users_v1_users_by_userid_notesWRITE

Add a note to a user, via POST /users/v1/users/{userId}/notes.

api
connecteam_post_users_v1_users_by_userid_payslipsWRITE

Add a payslip to a user, via POST /users/v1/users/{userId}/payslips. Attaches a payslip document to one employee. Payroll data about an identifiable person: the file arrives through the attachments flow, and who can read it afterwards is Connecteam's own permission model, not this connection's action picker.

api
connecteam_put_attachments_v1_files_complete_upload_by_fileidWRITE

Finish a file upload, via PUT /attachments/v1/files/complete-upload/{fileId}. STEP 3 OF 3: tells Connecteam the bytes have landed at the signed URL 'Start a file upload' issued. Calling it before the upload finished registers a file that is not there.

api
connecteam_put_company_policies_v1_pay_rule_policies_by_payrulepolicyid_assignmentsWRITE

Assign a user to a pay rule policy, via PUT /company-policies/v1/pay-rule-policies/{payRulePolicyId}/assignments.

api
connecteam_put_company_policies_v1_pay_rule_policies_by_payrulepolicyid_pay_rules_by_payruleidWRITE

Add a pay rule to a pay rule policy, via PUT /company-policies/v1/pay-rule-policies/{payRulePolicyId}/pay-rules/{payRuleId}.

api
connecteam_put_company_policies_v1_scheduling_rule_policies_by_schedulingrulepolicyid_assignmentsWRITE

Assign users to a scheduling rule policy, via PUT /company-policies/v1/scheduling-rule-policies/{schedulingRulePolicyId}/assignments.

api
connecteam_put_company_policies_v1_users_by_userid_working_hoursWRITE

Set a user's custom working hours, via PUT /company-policies/v1/users/{userId}/working-hours.

api
connecteam_put_company_policies_v1_working_hours_policies_by_workinghourspolicyid_assignmentsWRITE

Assign users to a working hours policy, via PUT /company-policies/v1/working-hours-policies/{workingHoursPolicyId}/assignments.

api
connecteam_put_daily_info_v1_daily_note_by_noteidWRITE

Update a daily note, via PUT /daily-info/v1/daily-note/{noteId}.

api
connecteam_put_forms_v1_forms_by_formid_form_submissions_by_formsubmissionidWRITE

Update a form submission, via PUT /forms/v1/forms/{formId}/form-submissions/{formSubmissionId}.

api
connecteam_put_forms_v1_forms_by_formid_questions_by_questionid_options_by_optionidWRITE

Update a dropdown option, via PUT /forms/v1/forms/{formId}/questions/{questionId}/options/{optionId}.

api
connecteam_put_jobs_v1_jobs_by_jobidWRITE

Update a job, via PUT /jobs/v1/jobs/{jobId}.

api
connecteam_put_pay_rates_v1_pay_ratesWRITE

Set pay rates, via PUT /pay-rates/v1/pay-rates. Writes what people are PAID, effective from a date. It is an upsert over the ids in the body rather than a patch of one row, so send the whole intended state for each user; a partial body is a pay change, not a no-op.

api
connecteam_put_sales_v1_locations_by_locationid_daily_salesWRITE

Set a location's projected daily sales, via PUT /sales/v1/locations/{locationId}/daily-sales.

api
connecteam_put_scheduler_v1_schedulers_by_schedulerid_shiftsWRITE

Update shifts (scheduler v1), via PUT /scheduler/v1/schedulers/{schedulerId}/shifts.

api
connecteam_put_scheduler_v2_schedulers_by_schedulerid_shiftsWRITE

Update shifts (scheduler v2), via PUT /scheduler/v2/schedulers/{schedulerId}/shifts.

api
connecteam_put_settings_v1_webhooks_by_webhookidWRITE

Update a webhook, via PUT /settings/v1/webhooks/{webhookId}.

api
connecteam_put_tasks_v1_taskboards_by_taskboardid_tasks_by_taskidWRITE

Update a task, via PUT /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}.

api
connecteam_put_tasks_v1_taskboards_by_taskboardid_tasks_by_taskid_sub_tasks_by_subtaskidWRITE

Update a subtask, via PUT /tasks/v1/taskboards/{taskBoardId}/tasks/{taskId}/sub-tasks/{subTaskId}.

api
connecteam_put_time_clock_v1_time_clocks_by_timeclockid_time_activitiesWRITE

Update time activities, via PUT /time-clock/v1/time-clocks/{timeClockId}/time-activities.

api
connecteam_put_time_clock_v1_time_clocks_by_timeclockid_users_by_userid_lock_daysWRITE

Lock or unlock a user's timesheet days, via PUT /time-clock/v1/time-clocks/{timeClockId}/users/{userId}/lock-days. Locking a day freezes that user's timesheet for it -- neither they nor an admin can edit those hours until it is unlocked -- which is normally done once payroll has been run. The same tool unlocks.

api
connecteam_put_time_off_v1_policy_types_by_policytypeid_balances_by_useridWRITE

Set a user's time-off balance, via PUT /time-off/v1/policy-types/{policyTypeId}/balances/{userId}. Sets a balance to a value rather than adding to it, so a read-modify-write built on a stale read silently overwrites whatever accrued in between.

api
connecteam_put_time_off_v1_requests_by_requestidWRITE

Update a time-off request, via PUT /time-off/v1/requests/{requestId}.

api
connecteam_put_time_off_v1_time_off_policies_by_timeoffpolicyid_assignmentsWRITE

Assign a user to a time-off policy, via PUT /time-off/v1/time-off-policies/{timeOffPolicyId}/assignments.

api
connecteam_put_users_v1_custom_fieldsWRITE

Update user custom fields, via PUT /users/v1/custom-fields.

api
connecteam_put_users_v1_custom_fields_by_customfieldid_options_by_optionidWRITE

Update a user custom field option, via PUT /users/v1/custom-fields/{customFieldId}/options/{optionId}.

api
connecteam_put_users_v1_pending_usersWRITE

Update pending users' status, in bulk, via PUT /users/v1/pending-users. BULK, and this is the STATUS transition rather than the field edit -- it is how an invitation is resent or withdrawn across several pending users at once. Use 'Update a pending user' to change one person's details.

api
connecteam_put_users_v1_pending_users_by_pendinguseridWRITE

Update a pending user, via PUT /users/v1/pending-users/{pendingUserId}.

api
connecteam_put_users_v1_smart_groups_by_smartgroupidWRITE

Update a smart group, via PUT /users/v1/smart-groups/{smartGroupId}.

api
connecteam_put_users_v1_usersWRITE

Update users, via PUT /users/v1/users. BULK UPDATE over a JSON ARRAY of users, each naming its own id. Fields you omit for a user are left alone, but every user in the array is written, so an array assembled from a stale read writes stale values back.

api
connecteam_put_users_v1_users_by_userid_performance_by_dateWRITE

Set a user's performance for one date, via PUT /users/v1/users/{userId}/performance/{date}.

api

Put Connecteam behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.