apply_payroll_adjustment_copy
ChatGPTUse only after preview_payroll_adjustment_copy returned an unblocked current preview and the authorized payroll operator explicitly confirmed every listed payee, amount, target date, and total. Creates new immutable tenant-scoped adjustment records with source provenance and idempotency. It cannot create arbitrary amounts or employees, copy all-payees records, edit sources, calculate, approve, export, submit, email, or pay payroll.
apply_payroll_resolution
ChatGPTUse only after preview_payroll_resolution returned an unblocked current preview, the operator selected one exact returned choiceId, and an authorized payroll operator explicitly confirmed that choice's exactEffect. The only decision input is the opaque enumerated choiceId; arbitrary money, rates, identities, mappings, policy, and free text are rejected. PayCanvas records the factual decision and queues deterministic replay of the same sealed source assembly. It never recollects providers, approves, exports, emails, submits, or pays.
discover_onboarding_source_model
ChatGPTAfter the customer has saved and verified a source in the secure PayCanvas form, inspect only its registered read-only contract and observed field names/types. Returns no source values, identities, raw rows, or credentials. Use the result to ask source-authority and mapping questions; it is not permission to infer payroll policy.
explain_open_payroll_item
ChatGPTExplain one tenant- and period-scoped unresolved item in plain language, including its evidence boundary, why it matters, and a safe operator question. It never records a chat answer or changes payroll.
get_calculation_job
ChatGPTRead a tenant-scoped calculation job's phase, duration, safe progress information, and blocker codes. Pass the internally resolved period ID when available so historical jobs remain addressable; never ask the operator to supply either UUID. This tool cannot start, retry, resume, approve, or export payroll.
get_fareharbor_correction_refresh_options
ChatGPTFor one internally resolved calculated period and its completed source job, list returned operating-date and location choices plus the all-collected-period choice, selection booking counts, eligibility blockers, shared-departure behavior, preservation guarantees, and exclusions. Use this instead of asking the operator for booking numbers. It is read-only and contacts no provider.
get_onboarding_workspace
ChatGPTRead the tenant's private onboarding draft, progress, open questions, safe connection status, authority boundaries, and secure PayCanvas connection-form link. Use this first when a customer asks to set up PayCanvas. Never ask the customer to paste a key, token, password, employee identity, raw report, or provider payload into chat.
get_operator_action_catalog
ChatGPTExplain which operator actions are available now, which optional permissions this connection has, and which payroll lifecycle actions are intentionally not yet exposed. This tool does not change access or payroll data.
get_payroll_line_explanation
ChatGPTRead one tenant- and period-matched persisted automatic line with its safe explanation and calculation/source/package provenance.
get_payroll_operator_guidance
ChatGPTExplain the safe PayCanvas operator workflow: identify a tenant, inspect workspace readiness, review a period and persisted evidence, then follow the returned blocker codes and next actions. This tool cannot access or change payroll data.
get_payroll_period
ChatGPTUse after list_payroll_periods resolves a human period reference. Read that tenant-verified period's lifecycle, calculation job and duration, source statuses, safe reconciliation summary, blockers, and action gates without asking the operator for an internal ID.
get_payroll_result_summary
ChatGPTRead a persisted result's state, provenance pins, counts, hashes, exceptions, and blocked downstream actions. It never invokes calculation or claims a historical result is current policy.
get_payroll_workspace
ChatGPTRead a tenant-authorized payroll workspace summary, including readiness, source status, latest period, blockers, and safe next actions. This tool cannot start or change payroll work.
get_source_collection_job
ChatGPTRead a tenant-scoped source-collection job's phase, progress, and safe receipt or error code. Pass the internally resolved period ID when available so historical jobs remain addressable. This tool cannot retry, resume, or contact a provider.
get_tenant_access_context
ChatGPTList the authenticated operator's active tenant memberships, or verify one selected tenant. Cross-tenant references are masked.
list_adjustments
ChatGPTRead bounded active and voided adjustment history for one tenant period. This tool cannot create, edit, approve, or void an adjustment.
list_open_payroll_items
ChatGPTList bounded, tenant- and period-scoped unresolved payroll items. Each item includes a plain-language explanation, why it matters, and the factual question an operator should answer. This tool does not create or apply a resolution.
list_payroll_audit_events
ChatGPTRead bounded sanitized audit history with safe actor references, action metadata, hashes, and lifecycle transitions.
list_payroll_periods
ChatGPTUse this when an operator refers to the oldest, latest, current, or a date-range payroll period. List deterministic, sanitized summaries, resolve the intended period, and keep returned UUIDs internal for follow-up tools.
list_payroll_result_lines
ChatGPTRead one bounded persisted payroll-result view: lines, employee totals, aggregates, pools, or calculation exceptions. Only dashboard-supported dimensions are accepted.
list_resolution_reviews
ChatGPTList bounded, tenant- and period-scoped immutable operator review records. Each record is explicitly marked as not applied to payroll.
list_resolutions
ChatGPTRead bounded saved-decision and resolution history for one tenant period without changing decisions or private overlay contents.
list_source_evidence
ChatGPTRead a tenant-authorized, period-scoped evidence index covering sanitized source receipts, reconciliation, source assembly, and calculation lineage. It never returns report contents, provider payloads, credentials, private mappings, aliases, or raw source rows.
preview_fareharbor_correction_refresh
ChatGPTPreview the exact immutable successor for one returned date/location choice, all existing collected FareHarbor bookings in the period, or an advanced known booking number. It shows the affected booking count, shared-departure expansion, adjustment and source preservation, exclusions, blockers, and a stale-state hash. It does not create a successor, contact FareHarbor, calculate, approve, export, submit, email, or pay payroll.
preview_payroll_adjustment_copy
ChatGPTPreview copying an exact set of active manual-adjustment IDs from one prior period into one open target period. Use IDs returned by list_adjustments and omit any employee the operator excluded. Returns every payee, amount, target effective date, total, blockers, and a stale-state hash. It writes nothing and rejects all-payees records.
preview_payroll_calculation
ChatGPTUse this when an authorized payroll operator wants to calculate one source-complete period. It rechecks the frozen source assembly, post-close capture in the tenant operating timezone, hard financial-integrity gates, held-money treatment for ordinary pay-affecting ambiguities, and exact state, then returns the confirmation effect. It does not create a calculation, result, approval, export, email, or payment.
preview_payroll_resolution
ChatGPTUse only for an unresolved item that PayCanvas marks as having a safe resolution candidate. Returns the factual question, why it exists, held-money context, stale-state hashes, and a closed list of safe choices. Present only those choices and keep opaque IDs internal. This writes nothing and cannot accept an amount, rate, identity, mapping, policy, or free-text decision.
preview_resolution_review
ChatGPTUse this when an operator has explained their evidence-based answer to an unresolved item and wants to see exactly what PayCanvas would record. It rechecks the current item and returns confirmation hashes. It creates no record and has no payroll effect.
preview_source_collection
ChatGPTCheck whether a tenant-admin operator can start a bounded America/Chicago API-backed comparison source-collection job for a date range. Returns blockers, an exact confirmation effect, and a stale-state hash. It creates no period, job, provider request, calculation, or payroll output.
record_onboarding_interview_turn
ChatGPTSave one customer's exact statement plus a narrow structured interpretation in their unapproved onboarding draft. Use customer_stated only for facts the customer explicitly stated; otherwise use inferred or unresolved. Mapping and policy facts always remain needs_review. Do not invent rates, source authority, eligibility, effective dates, exceptions, identities, mappings, or policy. This cannot approve policy, activate configuration, collect sources, calculate, export, email, or pay payroll.
record_resolution_review
ChatGPTUse this only after preview_resolution_review returned a preview and the operator explicitly confirmed its exact non-payroll effect. Records an immutable tenant-scoped review note with idempotency and audit receipt. It cannot apply a payroll resolution, calculate, approve, export, pay, or email.
request_onboarding_support
ChatGPTCreate or return the tenant's open support handoff only after the customer explicitly asks for help and consents to share their saved onboarding draft. Support can guide and reply but cannot approve policy for the customer or change payroll. Never include credentials, employee identities, bank details, or raw provider records.
start_fareharbor_correction_refresh
ChatGPTUse only after the exact current correction preview is unblocked and an authorized tenant admin explicitly confirms it. Creates or idempotently reuses the existing atomic successor, carries active and voided manual adjustments, freezes Homebase and Clover, and queues bounded FareHarbor detail GETs only for existing collected bookings in the selected scope and known shared departures. It never discovers new bookings, recollects every provider, calculates, approves, exports, submits, emails, or pays payroll.
start_payroll_calculation
ChatGPTUse only after preview_payroll_calculation returned an unblocked preview and an authorized payroll operator explicitly confirmed its exact effect. Queues the existing calculation worker against the post-close frozen source assembly and pinned configuration. It produces a financially safe result: provisional while pay-affecting items remain, otherwise final. Final is still not approved. This cannot resolve an ambiguity, approve payroll, export, email, pay, or change payroll policy.
start_source_collection
ChatGPTUse only after preview_source_collection returned an unblocked preview and an authorized payroll operator explicitly confirmed its exact effect. Creates the existing API-backed operator-comparison period and queues its tenant-scoped source-collection job with idempotency. The background worker may perform only configured bounded provider GET requests using Vault-held credentials. It cannot calculate, approve, export, pay, email, or change payroll policy.