Skip to content

HRIS · Beta

ShiftCare
API integration

Ship HRIS features without building the integration. Full ShiftCare API access via Proxy and 90+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
ShiftCare

Use Cases

Why integrate with ShiftCare

Common scenarios for SaaS companies building ShiftCare integrations for their customers.

01

Automate payroll for care providers

Payroll platforms can pull approved timesheets, leaves, allowances, and pay items from ShiftCare to run accurate weekly pay cycles for hourly care workers without manual data entry.

02

Sync invoicing with accounting tools

Accounting and billing SaaS can fetch invoiceable items, invoices, and push payment reconciliation back to ShiftCare, closing the loop between care delivery and the general ledger.

03

Push training completions into rostering

LMS and compliance platforms can create staff qualifications and upload certificate documents in ShiftCare so newly trained workers are immediately eligible for shifts requiring those credentials.

04

Provision clients from intake CRMs

Care CRMs and intake platforms can auto-create ShiftCare clients the moment a contract is signed, eliminating duplicate data entry for coordinators.

05

Power BI dashboards for care operations

Analytics tools can combine ShiftCare complaints, progress notes, shifts, and client fund balances to give executives a unified view of profitability, risk, and quality.

What You Can Build

Ship these features with Truto + ShiftCare

Concrete product features your team can ship faster by leveraging Truto’s ShiftCare integration instead of building from scratch.

01

Approved timesheet ingestion

Pull timesheets, leaves, and allowances from ShiftCare on a schedule or via webhooks to feed downstream payroll engines.

02

Client and staff provisioning

Create and update ShiftCare clients and staff from your product using bulk endpoints and external ID mapping to keep records linked.

03

Qualification and document sync

Automatically create staff qualifications and attach certificate documents when workers complete training in your platform.

04

Invoice and payment reconciliation

Fetch invoiceable items and invoices, then post payments back with support for reversals when transactions need to be undone.

05

Real-time shift and complaint webhooks

Subscribe to ShiftCare webhook events for shifts, complaints, forms, and progress notes to react instantly instead of polling.

06

Client fund balance widgets

Surface real-time NDIS or care package fund balances inside your product by calling ShiftCare's fund and balance endpoints per client.

SuperAI

ShiftCare AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_shift_care_account_locations

List ShiftCare account locations for the current account with optional filtering and sorting. Returns: id, name, address, created_at, updated_at. Access is gated by a feature flag. Max 50 per page.

list_all_shift_care_areas

List ShiftCare areas for the current account with optional filtering by ID or name and sorting. Returns: id, name, created_at, updated_at. Max 50 items per page.

create_a_shift_care_client_note

Create a client note attached to a ShiftCare client. Returns: id, category, subject, message, requested_date, private, created_at, updated_at, attachments. Required: client_id. If requested_date is omitted it defaults to the current UTC date, which may differ from the account's local date.

update_a_shift_care_client_note_by_id

Update an existing client note for a ShiftCare client. Returns: id, category, subject, message, requested_date, private, created_at, updated_at, attachments. Required: client_id, id. The private flag must match the note's type — a mismatch returns 404.

list_all_shift_care_complaints

List ShiftCare complaints with optional filtering by status, risk level, category, assignee, client, date ranges, and free-text search. Returns: id, reference_number, name, description, status, risk_level, category, client_id, assignee_id, assignee_name, creator_id, creator_name, received_date, due_date, closure_date, is_private, safety_concern, risk_assessment_notes, outcome_summary,…

create_a_shift_care_complaint

Create a new complaint in ShiftCare. Returns the created complaint including id, reference_number, name, status, risk_level, category, complainant and representative details, and lifecycle timestamps. New complaints default to status 'received' and risk_level 'low'.

get_single_shift_care_complaint_by_id

Get a single ShiftCare complaint by id. Returns the full complaint object including id, reference_number, name, status, risk_level, category, complainant and representative details, and lifecycle timestamps. Required: id.

update_a_shift_care_complaint_by_id

Update a ShiftCare complaint by id. Returns the updated complaint including id, reference_number, name, status, risk_level, category, complainant and representative details, and lifecycle timestamps. Required: id. Prefer the update_status method for status transitions.

shift_care_complaints_bulk_update

Update a ShiftCare complaint's lifecycle status by complaint_id. Returns the updated complaint including id, reference_number, name, status, risk_level, and outcome_summary. Required: complaint_id, status. outcome_summary is required when the target status is 'closed'. 'received' cannot be used as a target status.

shift_care_leaves_create_external_id

Create an external ID for a specific ShiftCare leave, linking it to an external payroll or HR system. Returns: id, type, organization_id. Required: leave_id, id, type.

create_a_shift_care_leaf

Create a new leave record in ShiftCare for a staff member. Returns the created leave including id, user_id, title, start_at, end_at, reason, all_day, approved_at, approved_by, declined_at, declined_reason, read_only, hours_daily, and external_ids. Required: user_id, title, start_at, end_at, reason.

list_all_shift_care_leaves

List leaves in ShiftCare with optional date-range, user, and approval-status filters. Returns: id, user_id, title, start_at, end_at, reason, all_day, approved_at, approved_by, declined_at, declined_reason, read_only, hours_daily, external_ids.

update_a_shift_care_leaf_by_id

Update an existing leave record. Only the fields provided are changed. Approval or decline status can only be changed via the approval_action field; sending approved_at/declined_at directly is ignored for status changes.

get_single_shift_care_leaf_by_id

Get a single ShiftCare leave by id. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence. Required: id.

shift_care_external_references_bulk_create

Bulk create external references for supported ShiftCare resources such as staff, clients, allowances, and leaves. Returns: external_references, errors. Required: external_references with resource_type, resource_id, service, and external_id for each entry.

shift_care_external_references_bulk_update

Bulk update external references for supported resources in ShiftCare. Returns: external_references, errors. Required: external_references with resource_type, resource_id, service, and external_id for each item.

shift_care_external_references_bulk_destroy

Bulk destroy external references for supported resources in ShiftCare. Returns: external_references, errors. Required: external_references.

get_single_shift_care_external_reference_by_id

Get a single external reference in ShiftCare by id (external_id). Returns: resource_id, resource_type, service, external_id, organization_id. Required: id.

list_all_shift_care_facilities

List ShiftCare facilities with optional filtering by ID or name and sorting by ID or name. Returns: id, name, address, account_location_id, facility_type, created_at, updated_at. Max 50 per page.

list_all_shift_care_teams

List ShiftCare teams for the current account with optional filtering by ID or name and sorting. Returns: id, external_id, name, type_string. Max 50 per page. Access is gated by a feature flag.

list_all_shift_care_shifts

List shifts in ShiftCare with optional filtering by client IDs, staff IDs, date range, status, and billable flag. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence.

create_a_shift_care_shift

Create a new shift in ShiftCare with associated clients, staff, tasks, and optional recurrence rules. Returns the created shift including id, area_id, start_at, end_at, shift_type, published, clients, staff, tasks, and recurrence. Required: start_at, end_at.

get_single_shift_care_shift_by_id

Get a single ShiftCare shift by id. Returns the shift object including area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, and recurrence. Required: id.

update_a_shift_care_shift_by_id

Update an existing shift in ShiftCare by id. Returns the updated shift including area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, and recurrence. Required: id.

delete_a_shift_care_shift_by_id

Permanently delete a shift in ShiftCare by id. Returns an empty 204 response on success. Invoiced shifts cannot be deleted — the API returns 409 in that case. Required: id.

shift_care_shifts_cancel

Cancel a shift, either without charge (marks the shift cancelled and unbillable) or with charge (marks each client ratio absent using an NDIS no-show code, keeping the shift billable).

list_all_shift_care_shift_staffs

List the staff members assigned to a specific shift.

list_all_shift_care_shift_events

List shift events in ShiftCare. Returns: name, message, user_full_name, user_id, created_at, private.

create_a_shift_care_shift_event

Create a shift event in ShiftCare with scheduling, client/staff assignments, tasks, and optional recurrence. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence, created_at. Required: start_at, end_at.

list_all_shift_care_invoices

List invoices, optionally filtered by client, payment status, payment type, and date range. Supports including client details and external references.

create_a_shift_care_invoice_payment

Create a payment for an invoice in ShiftCare. Returns the created payment object with a 201 status on success. Required: invoice_id.

list_all_shift_care_invoice_payments

List payments recorded against a specific invoice in ShiftCare. Returns: id, amount, reference, payment_date, notes, status, fund_id, void_at, created_at, updated_at. Required: invoice_id. Reversed payments are excluded by default; pass include_reversed=true to include them.

shift_care_invoice_payments_reverse

Reverse or void a payment recorded against a ShiftCare invoice. Returns an empty 204 response on success. Required: invoice_id, payment_id.

list_all_shift_care_pay_groups

List pay groups in ShiftCare with pagination. Returns: id, name, created_at, updated_at.

create_a_shift_care_qualification

Create a new qualification type in ShiftCare. Returns: id, name, category_id, description, require_for_all_carers, require_expiry, require_document, support_need_ids, account_id, created_at, updated_at. Required: name, category_id. The name must be unique within the account (case-insensitive).

get_single_shift_care_qualification_by_id

Get a single ShiftCare qualification by id. Returns the qualification object including its id, name, category_id, description, require_for_all_carers, require_expiry, require_document, and support_need_ids. Required: id.

list_all_shift_care_qualification_categories

List qualification categories in ShiftCare. Returns: id, name, account_id, created_at, updated_at.

create_a_shift_care_staff_qualification

Create a qualification record for a staff member, optionally attaching a document and expiry date.

delete_a_shift_care_staff_qualification_by_id

Delete a ShiftCare staff qualification by id. Returns an empty 204 response on success. Required: id.

update_a_shift_care_staff_qualification_by_id

Update a staff qualification record, such as replacing the attached document or changing its expiry date.

list_all_shift_care_staff_qualifications

List staff qualifications in ShiftCare. Returns: id, created_at, updated_at.

create_a_shift_care_document

Upload a file to create a document in ShiftCare. The request body is multipart/form-data containing a binary file in the document field. Returns the created document object. Required: document.

list_all_shift_care_documents

List documents in ShiftCare with optional filtering by user id and category. Returns: id, file, category, account_id, user_id, app_visibility, visibility, no_expiration, expires_at. Max 20 per page.

create_a_shift_care_webhook

Create a new webhook subscription to receive events at a specified HTTPS URL. The signing secret is returned only in the create response.

list_all_shift_care_webhooks

List webhook subscriptions in ShiftCare. Returns: public_id, url, event_types, status, description, paused_at, paused_reason, created_at, updated_at, secret.

get_single_shift_care_webhook_by_id

Retrieve a single webhook subscription by its public ID.

update_a_shift_care_webhook_by_id

Update an existing webhook subscription's URL, subscribed event types, or description.

delete_a_shift_care_webhook_by_id

Delete (disable) a webhook subscription in ShiftCare by id. Returns an empty 204 response on success. Required: id.

shift_care_webhooks_rotate_secret

Rotate the signing secret for a ShiftCare webhook subscription. Returns the updated subscription with its id and the newly generated secret. Required: webhook_id.

shift_care_webhooks_ping

Send a test ping to a ShiftCare webhook subscription to verify the webhook endpoint is reachable and accepting deliveries. Returns a 201 response on success. Required: webhook_id.

shift_care_webhooks_resume

Resume a paused webhook subscription in ShiftCare. Returns a 201 response confirming the subscription has been resumed. Required: webhook_id.

list_all_shift_care_webhook_events

List delivery events for a webhook subscription, in sequence order. Use after_sequence to page through events incrementally.

list_all_shift_care_webhook_deliveries

List webhook deliveries for a ShiftCare webhook subscription with attempt history. Returns: id, status, attempts_count, final_status_code, completed_at, next_attempt_at, event_id, created_at, updated_at, attempts, request_payload. Required: webhook_id.

get_single_shift_care_webhook_delivery_by_id

Get a single ShiftCare webhook delivery by id, including full attempt history and request payload. Returns: id, status, attempts_count, final_status_code, completed_at, next_attempt_at, event_id, created_at, updated_at, attempts, request_payload. Required: webhook_id, id.

shift_care_webhook_deliveries_redeliver

Re-enqueue a ShiftCare webhook delivery for retry, re-sending the original payload to the webhook endpoint. Returns the delivery object including id, status, attempts_count, final_status_code, completed_at, event_id. Required: webhook_id, delivery_id.

list_all_shift_care_webhook_event_types

List all webhook event types available to subscribe to, along with the resource type and description of each.

list_all_shift_care_allowances

List allowances for the current ShiftCare account. Returns: id, name, code, unit, external_id, xero_earnings_rate_id, value, external_ids.

get_single_shift_care_allowance_by_id

Get a single ShiftCare allowance by id. Returns: id, name, code, unit, external_id, xero_earnings_rate_id, value, external_ids. Required: id.

shift_care_allowances_bulk_create_external_ids

Bulk create external IDs for allowances in ShiftCare, linking each allowance to an external payroll or HR system. Returns: external_ids, errors. Required: external_ids with id, type, and allowance_id per item.

shift_care_allowances_bulk_destroy_external_ids

Bulk destroy external IDs for allowances in ShiftCare. Returns an empty 200 response on success.

shift_care_allowances_bulk_update_external_ids

Bulk update external IDs for multiple allowances in ShiftCare via a PUT request. Returns 200 on success with the updated external ID records.

shift_care_clients_list_funds

List a client's funds in ShiftCare. The Fund entity stores a client's cashflow and can be used for fetching balances and planning services. Returns: id, name, amount, hours, start_at, expires_at. Required: client_id.

shift_care_clients_get_fund_balance

Get a client's fund's current balance in ShiftCare. Returns the fund's monetary and hours balance. Returns: balance_amount, balance_hours. Required: client_id, fund_id.

shift_care_clients_delete_external_reference

Delete an external reference from a ShiftCare client. Returns an empty 200 response on success. Required: client_id, external_id.

create_a_shift_care_client

Create a new client in ShiftCare. Returns the created client object including id, first_name, family_name, dob, email, mobile_number, created_at, and updated_at. Required: first_name, dob.

list_all_shift_care_clients

List ShiftCare clients with optional filtering by ID or name and sorting by id or name. Returns: id, salutation, first_name, middle_name, family_name, display_name, gender, dob, address, address_unit_no, general_information, phone_number, mobile_number, email, marital_status, nationality, languages, ndis_number, medicare_number, aboriginal_torres_strait_islander, age_care_recipient_id,…

update_a_shift_care_client_by_id

Update a specific ShiftCare client by id. Returns the updated client object including id, first_name, family_name, dob, email, client_status, created_at, and updated_at. Required: id.

shift_care_clients_get_by_external_id

Fetch a single ShiftCare client by their external ID. Returns the full client object including id, first_name, family_name, display_name, email, mobile_number, and address. Required: external_id.

get_single_shift_care_client_by_id

Get a single ShiftCare client by id. Returns the full client profile including id, first_name, family_name, display_name, email, dob, address, phone_number, mobile_number, client_status, created_at, and updated_at. Required: id.

shift_care_clients_bulk_create

Bulk create multiple clients in ShiftCare in a single request. Returns the created client records including id, first_name, family_name, and dob. Required: a clients array where each item includes first_name and dob (YYYY-MM-DD).

shift_care_clients_bulk_create_external_ids

Bulk create external IDs for multiple ShiftCare clients in a single request. Returns an external_ids array where each entry contains id, type, and organization_id. Required: external_ids with id, type, and client_id for each entry.

shift_care_clients_list_external_ids

List external IDs (external references) for a specific ShiftCare client. Returns: id, type, organization_id. Required: client_id.

shift_care_pay_items_bulk_update_external_ids

Bulk update external IDs for ShiftCare pay items, mapping each pay item to an identifier in an external payroll or HR system. Returns: id, pay_group_id, name, reference_no, xero_earnings_rate_id, external_ids. Required: external_ids array where each entry must include id, type, and pay_item_id.

list_all_shift_care_pay_items

List pay items in ShiftCare. Returns: id, pay_group_id, name, reference_no, xero_earnings_rate_id, external_ids.

get_single_shift_care_pay_item_by_id

Get a single ShiftCare pay item by id. The pay item entity stores weekday, weekend, or public holiday payroll information. Returns: id, pay_group_id, name, reference_no, xero_earnings_rate_id, external_ids. Required: id.

list_all_shift_care_shift_types

List shift types in ShiftCare. The Shift Type entity assigns a specific category or metadata to shifts. Returns: id, external_id, name, type_string. Supports optional filtering by name. Max 50 items per page.

get_single_shift_care_shift_type_by_id

Get a single ShiftCare shift type by id. Returns: id, area_id, start_at, end_at, shift_type, published, allowance_ids, clients, staff, tasks, recurrence. Required: id.

shift_care_staff_list_external_ids

List external IDs associated with a ShiftCare staff member. Returns: id, type, organization_id. Required: staff_id.

shift_care_staff_create_external_id

Create an external ID for a ShiftCare staff member, linking them to an external payroll or CRM system such as ADP, Xero, or QuickBooks. Returns: id, type, organization_id. Required: staff_id, id, type.

shift_care_staff_delete_external_reference

Delete an external reference (external ID) for a ShiftCare staff member. Returns an empty response on success. Required: staff_id, external_id.

shift_care_staff_bulk_create_external_ids

Bulk-link external system identifiers to multiple staff members in a single call.

shift_care_staff_archive

Archive a staff member. Archiving is processed asynchronously: it removes the staff member from future shifts and updates related records in the background.

shift_care_staff_bulk_create

Bulk create multiple staff members in ShiftCare in a single request. Returns the created staff records including id, name, email, first_name, family_name, role, and created_at. Required: staffs[name], staffs[email].

shift_care_staff_bulk_update

Bulk-update multiple staff members in a single call, matched by their ShiftCare staff IDs.

create_a_shift_care_staff

Create a new staff member. Optionally sends a platform invitation email.

list_all_shift_care_staff

List ShiftCare staff members. Returns: id, salutation, name, first_name, family_name, role, gender, dob, address, phone_number, mobile_number, email, employment_type, job_title, languages, kin_name, kin_relationship, kin_email, kin_phone_number, invitation_accepted_at, joined_at, created_at, updated_at, payroll_email, onboarding_status, external_ids.

update_a_shift_care_staff_by_id

Update an existing staff member's profile fields.

shift_care_staff_get_by_external_id

Fetch a single ShiftCare staff member by their external ID. Returns: id, salutation, name, first_name, family_name, role, gender, dob, address, phone_number, mobile_number, email, employment_type, job_title, languages, kin_name, kin_relationship, kin_email, kin_phone_number, invitation_accepted_at, joined_at, created_at, updated_at, payroll_email, onboarding_status, external_ids. Required:…

get_single_shift_care_staff_by_id

Fetch a single ShiftCare staff member by id. Returns: id, salutation, name, first_name, family_name, role, gender, dob, address, phone_number, mobile_number, email, employment_type, job_title, languages, kin_name, kin_relationship, kin_email, kin_phone_number, invitation_accepted_at, joined_at, created_at, updated_at, payroll_email, onboarding_status, external_ids. Required: id.

list_all_shift_care_timesheets

List timesheets in ShiftCare for a given date range. Returns: staff_id, date, client_ids, items, shift_id, status, clockin_at, clockout_at, clockin_location, clockout_location, staff. Required: from, to. Max 20 per page.

list_all_shift_care_forms

List ShiftCare form definitions with optional filtering by status and type. Returns: id, name, description, form_type, status, single_response, component_count, created_at, updated_at, components. Max 100 per page.

get_single_shift_care_form_by_id

Get a single ShiftCare form definition by id. Returns the full form object including name, form_type, status, single_response, component_count, components, created_at, and updated_at. Required: id.

create_a_shift_care_form_response

Create a form response in ShiftCare by submitting component values for a specific form and responder. Returns: id, form_id, form_name, responder_type, responder_id, responder_name, status, values, created_at, updated_at. Required: form_id, responder_type, responder_id, values.

list_all_shift_care_form_responses

List form responses in ShiftCare with optional filtering by form, responder, status, and submission date. Returns: id, form_id, form_name, responder_type, responder_id, responder_name, status, values, created_at, updated_at. Component values are only included when include_values is set to true.

list_all_shift_care_progress_notes

List progress notes, optionally filtered by shift, staff author, client, category, creation date range, or shift date range.

get_single_shift_care_progress_note_by_id

Get a single ShiftCare progress note by id. Returns: id, category, message, shift_id, shift_date, client, staff, follow_up, created_at, updated_at. Required: id.

list_all_shift_care_invoiceable_items

List invoiceable items for a billing period in ShiftCare — priced shift and non-shift line items with tax-exclusive totals, grouped per client. Returns per-client entries with client_id, client_name, fund_id, fund_name, fund_type, payment_type, excluded_count, totals, and line_items. Required: start_date_in_account_time_zone, end_date_in_account_time_zone. A 404 response means the endpoint is not…

Why Truto

Why use Truto’s MCP server for ShiftCare

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with ShiftCare in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s ShiftCare account

Use Truto’s frontend SDK to connect your customer’s ShiftCare account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call ShiftCare

Truto’s Proxy API is a 1-to-1 mapping of the ShiftCare API. You call us, we call ShiftCare, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate ShiftCare’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about ShiftCare on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does Truto handle authentication with ShiftCare?

Truto manages the ShiftCare API credential exchange, token storage, and refresh on behalf of your end users. Your product only needs to trigger the connection flow — Truto handles the rest per connected account.

Can we link our own record IDs to ShiftCare entities?

Yes. ShiftCare exposes external ID endpoints for staff, clients, allowances, pay items, and leaves, including bulk create, update, and destroy operations, so you can map your primary keys directly to ShiftCare records without fuzzy matching.

How do we get real-time updates instead of polling?

ShiftCare supports webhooks that you can create, rotate secrets for, ping, and resume through Truto. You can list event types, view deliveries, and redeliver failed events for reliability.

What payroll-relevant data can we pull?

You can list timesheets, leaves, allowances, pay groups, pay items, and shifts, plus fetch shift types and staff qualifications. This covers the core inputs needed for hourly and award-based pay calculations.

Can we automate billing and invoice reconciliation?

Yes. You can list invoiceable items and invoices, create invoice payments, list existing payments, and reverse payments when reconciliation needs to be corrected.

Does the integration support compliance and quality workflows?

Yes. You can create, list, and update complaints (including bulk updates), list progress notes, list forms, and submit form responses — enabling QMS and clinical tools to stay in sync with ShiftCare.

ShiftCare

Get ShiftCare integrated into your app

Our team understands what it takes to make a ShiftCare integration successful. A short, crisp 30 minute call with folks who understand the problem.