Skip to content

Integration · Payroll & HR

oysterhr.com

Connect Claude & ChatGPT to Oyster

Ask your AI which time off requests are waiting, which expenses need review, or what payroll changes were made this month in Oyster. It can list and read engagements, time off, time sheets, expenses, payroll changes, payrolls, payslips, documents and invoices, and approve or decline requests. Routine HR admin can be handled from the chat.

Connect Oyster free

Free plan, no credit card. Takes about a minute.

Try asking

  • “Which time off requests are waiting for me?”

    The AI lists time off requests with team member, type, dates and status.

  • “Approve Maria's vacation request for 10 to 14 March.”

    It finds the request and approves it. Maria is notified.

  • “Which expenses are still waiting for review?”

    It lists expenses filtered by review state, with amount and category.

What your AI can do

Team and time off

List engagements, departments, documents and payslips, read entitlements and public holidays, and create, approve or reject time off requests.

Expenses and time sheets

List and read expenses and time sheets, submit expenses, approve or decline expenses and approve time sheets.

Payroll and invoices

List payrolls and payroll changes, add changes such as bonuses, and read Oyster invoices with amounts, status and due date.

  • “Add a 500 EUR bonus for Tom in the June payroll.”

    It finds Tom's engagement and adds a payroll change for June with the amount and currency.

  • “How many vacation days does the team have left?”

    It lists time off entitlements with allowances and balances for your team members.

  • “Which public holidays are there in Germany in December?”

    It lists the public holidays for that country in that date range.

133 tools for Oyster

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • approve_expenseVisible to othersApprove an expense by `expense_id` so it is reimbursed to the team member through Oyster.
  • approve_invoiceVisible to othersApprove a invoice (invoice identifier). Has effects visible outside this system. API summary: Approve invoice.
  • approve_time_off_requestVisible to othersApprove a pending time off request by `request_id`. The team member is notified.
  • approve_time_sheetVisible to othersConfirm (approve) a submitted time sheet by `time_sheet_id`.
  • cancel_contract_changeDeletesCancel a contract change (contract change id). Destructive action; may require approval. API summary: Cancel request.
  • cancel_requestDeletesCancel a request (request id). Destructive action; may require approval. API summary: Cancel request.
  • create_a_draft_resignation_for_an_employmentChanges dataCreate a new resignation. Required: engagement id, category id, proposed offboarding date, intended pto or communicated with manager. API summary: Create a draft resignation for an employment.
  • create_a_draft_termination_for_an_employmentChanges dataCreate a new termination. Required: engagement id, category id or proposed offboarding date. API summary: Create a draft termination for an employment.
  • create_accountChanges dataCreate a new account. Required: engagement id, is primary, currency code, country code or details. API summary: Create bank account.
  • create_approvedChanges dataCreate a new approved. Required: reference id, user, document or screening. API summary: Submit an approved partner identity verification.
  • create_charge_group_wire_sentMoves moneyCreate a new wire sent for a charge group. Required: wire sent at. Financial or irreversible action; may require approval. API summary: Confirm wire sent.
  • create_contract_changeChanges dataCreate a new contract change. Required: engagement id or effective from. API summary: Create request.
  • create_customerChanges dataCreate a new customer. Required: name, registration number, country of incorporation or address. API summary: Create customer.
  • create_declinedChanges dataCreate a new declined. Required: reference id, user, document or screening. API summary: Submit a declined partner identity verification.
  • create_employmentChanges dataCreate a new employment. Required: country code, subdivision code or personal details. API summary: Create employment.
  • create_expenseChanges dataSubmit an expense for an engagement. Needs `engagement_id`, `name`, `category`, `incurred_on` (date), `receipt_url` and `receipt_amount` (decimal and currencyCode).
  • create_grantChanges dataCreate a new grant. Required: engagement id, consent statement hash, given at or ip address. API summary: Create consent grant.
  • create_inviteVisible to othersCreate a new invite. Has effects visible outside this system. API summary: Invite team member.
  • create_invoice_disputeChanges dataCreate a new dispute for a invoice. Required: reason. API summary: Dispute invoice.
  • create_offboarding_cancellationChanges dataCreate a new cancellation for a offboarding. Required: cancellation reason. API summary: Request cancellation for an initiated offboarding.
  • create_offboarding_initiateChanges dataCreate a new initiate for a offboarding. API summary: Initiate offboarding.
  • create_pageChanges dataCreate a new page. Required: time sheet id, date, type or present. API summary: Create time sheet entry.
  • create_payroll_changeChanges dataAdd a payroll change (such as a bonus) for an engagement in a given payroll `year` and `month`. Needs `engagement_id`, `type` and `amount` (decimal and currencyCode). It changes what the team member is paid.
  • create_project_enrollmentChanges dataCreate a new enrollment for a project. Required: plan id. API summary: Request benefits.
  • create_resignationChanges dataCreate a new resignation. Required: engagement id or proposed offboarding date. API summary: Create a draft resignation for a contractor.
  • create_terminationChanges dataCreate a new termination. Required: engagement id, proposed offboarding date or last payment. API summary: Create a draft termination for a contractor.
  • create_termination_postChanges dataCreate a new termination. Required: engagement id, category id, last working day on, last day on or mutual termination. API summary: Create a draft termination for a payroll team member.
  • create_time_off_requestChanges dataCreate a time off request for an engagement. Needs `engagement_id`, `type` (VACATION, SICK_LEAVE, UNPAID_LEAVE, OTHER), `reason`, `start_date`, `end_date` and `request_by_admin` (true when you as admin request it).
  • create_time_sheetChanges dataCreate a new time sheet. Required: engagement id. API summary: Create a time sheet.
  • create_webhookDeletesCreate a new webhook. Required: url or shared secret. Destructive action; may require approval. API summary: Create a webhook endpoint.
  • create_webhook_testDeletesCreate a new test for a webhook. Required: data. Destructive action; may require approval. API summary: Send a test payload to a webhook endpoint.
  • decline_expenseVisible to othersDecline an expense by `expense_id`, optionally with a `reason`. The team member is notified.
  • delete_accountDeletesPermanently delete a account by account id. Destructive action; may require approval. API summary: Delete bank account.
  • delete_charge_group_wire_sentsMoves moneyPermanently delete a wire sent by charge group id. Financial or irreversible action; may require approval. API summary: Revoke wire sent confirmation.
  • delete_employmentDeletesPermanently delete a employment by employment id. Destructive action; may require approval. API summary: Delete employment.
  • delete_employment_commission_plansMoves moneyPermanently delete a commission plan by employment id. Financial or irreversible action; may require approval. API summary: Delete The Uploaded Employment Commission Plan.
  • delete_employment_documentDeletesPermanently delete a document by document id. Destructive action; may require approval. API summary: Delete The Uploaded Employment Document.
  • delete_employment_work_permitsMoves moneyPermanently delete a work permit by employment id. Financial or irreversible action; may require approval. API summary: Delete The Uploaded Employment Work Permit.
  • delete_expenseDeletesPermanently delete a expense by expense id. Destructive action; may require approval. API summary: Deletes an individual expense.
  • delete_grantsMoves moneyPermanently delete a grant. Financial or irreversible action; may require approval. API summary: Revoke consent grant.
  • delete_pageDeletesPermanently delete a page by page id. Destructive action; may require approval. API summary: Delete time sheet entry.
  • delete_payroll_changeDeletesPermanently delete a payroll change by payroll change id. Destructive action; may require approval. API summary: Cancel payroll change.
  • delete_time_sheetDeletesPermanently delete a time sheet by time sheet id. Destructive action; may require approval. API summary: Delete an individual time sheet.
  • delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval. API summary: Delete a webhook endpoint.
  • fetch_the_onboarding_form_for_a_countryList forms. Optional filters: country code. API summary: Fetch the onboarding form for a country.
  • get_accountGet one account by account id. API summary: Retrieve Bank Account details.
  • get_charge_groupGet one charge group by charge group id. API summary: Retrieve a charge group.
  • get_companyGet your Oyster company's details. Use to confirm which company you are working in.
  • get_contract_changeGet one contract change by contract change id. API summary: Retrieve an individual contract change request.
  • get_credit_noteGet one credit note by credit note identifier. API summary: Retrieve a credit note.
  • get_documentGet one document by field or document id. API summary: Get a document from the onboarding form.
  • get_employmentGet one employment by employment id. API summary: Retrieve an individual employment.
  • get_employment_agreementGet one agreement for a employment by agreement id. API summary: Retrieve an individual agreement.
  • get_engagementGet one engagement (team member) by its ID, passed as `project_id`, with role, country, dates and pay details.
  • get_enrollmentGet one enrollment by enrollment id. API summary: Retrieve an enrollment.
  • get_entitlementGet one entitlement by entitlement id. API summary: Retrieve entitlements for individual engagement.
  • get_expenseGet one expense by `expense_id`, with amount, category, receipt and review state.
  • get_invoiceGet one Oyster invoice by `invoice_identifier`, with amounts, status and due date.
  • get_offboardingGet one offboarding by offboarding id. API summary: Returns an offboarding.
  • get_operationGet one operation by operation key. API summary: Retrieve an operation.
  • get_paymentGet one payment by payment id. API summary: Retrieve a charge.
  • get_payoutGet one payout by payout id. API summary: Retrieve a payout.
  • get_payrollGet one payroll by payroll id. API summary: Retrieve an individual payroll.
  • get_payroll_changeGet one payroll change by `payroll_change_id`.
  • get_rulesetGet one ruleset by ruleset id. API summary: Retrieve expenses rulesets.
  • get_ruleset_sourceGet one source for a ruleset by source type. API summary: Retrieve time tracking sources by source type for engagement.
  • get_time_off_requestGet one time off request by `request_id`.
  • get_time_sheetGet one time sheet by `time_sheet_id`, with its entries and status.
  • list_accountsList accounts. Optional filters: engagement id. Results are paginated. API summary: Retrieve bank accounts.
  • list_annualliesList annuallies. API summary: Retrieve annual cost estimates for an employment.
  • list_categoriesList categories. API summary: Retrieve expense categories.
  • list_charge_group_paymentsList payments for a charge group. Results are paginated. API summary: Retrieve charge group charges.
  • list_contract_changesList contract changes. Results are paginated. API summary: Retrieve all contract changes.
  • list_credit_notesList credit notes. Optional filters: reference codes, payroll period from, payroll period to, from issue date, to issue date or types. Results are paginated. API summary: Retrieve all credit notes.
  • list_customersList customers. Results are paginated. API summary: Retrieve all customers.
  • list_defaultsList defaults. Optional filters: engagement id. API summary: Retrieve default payroll changes ruleset.
  • list_departmentsList the departments in your company.
  • list_dispatchesList dispatches. Results are paginated. API summary: Retrieve all webhook dispatches.
  • list_employment_agreementsList agreements for a employment. Results are paginated. API summary: Retrieve all agreements for an employment.
  • list_employment_tasksList tasks for a employment. API summary: Get hiring process tasks for an employment.
  • list_engagement_documentsList the documents (such as contracts) of one engagement by `engagement_id`.
  • list_engagement_payslipsList the payslips of one engagement by `engagement_id`.
  • list_engagementsList engagements (your team members, employees and contractors hired through Oyster). Page with `page` and `limit`. Use to find an engagement ID.
  • list_expensesList expenses, optionally searched with `query` or filtered by `review_states`. Page with `page` and `limit`.
  • list_formsList forms. API summary: Fetch the onboarding form for an employment.
  • list_invoice_breakdownsList breakdowns for a invoice. API summary: Retrieve invoice breakdown.
  • list_invoicesList Oyster invoices, filtered by `statuses`, `types`, `engagement_ids` or an issue date range (`issue_date_from`, `issue_date_to`).
  • list_monthliesList monthlies. API summary: Retrieve monthly cost estimates for an employment.
  • list_offboarding_agreementsList agreements for a offboarding. API summary: Returns list of agreements for an offboarding.
  • list_offboardingsList offboardings. API summary: Returns list of offboardings.
  • list_payroll_changesList payroll changes (bonuses, allowances and other one-off pay items), filtered by `engagement_id` or a `from`/`to` date range.
  • list_payroll_recordsList records for a payroll. Results are paginated. API summary: Retrieve payroll records for individual payroll.
  • list_payrollsList payroll runs, optionally within a `from`/`to` date range.
  • list_project_allowancesList allowances for a project. Results are paginated. API summary: Retrieve allowances for engagement.
  • list_project_bonusesList bonuses for a project. Results are paginated. API summary: Retrieve bonuses for engagement.
  • list_project_identity_verificationsList identity verifications for a project. API summary: Retrieve the latest identity verification for an engagement.
  • list_project_offeringsList offerings for a project. API summary: Retrieve an employment's available benefits offerings.
  • list_public_holidaysList public holidays between `start_date` and `end_date`, for a `country_code` (and optional `subdivision_code`) or for an `engagement_id`.
  • list_role_typesList role types. API summary: Role types for updating employment.
  • list_rulesetsList rulesets. Optional filters: currency code, country code or engagement type. Results are paginated. API summary: Retrieve bank account rulesets.
  • list_rulesets_2List rulesets. Optional filters: engagement id or country code. API summary: Retrieve rulesets for drafting an offboarding for a payroll team member.
  • list_rulesets_getList rulesets. Optional filters: country code, subdivision code, employment type or employment id. API summary: Rulesets for updating employment of particular country and subdivision.
  • list_source_categoriesList categories for a source. API summary: Returns list of offboarding categories.
  • list_statusesList statuses. API summary: Retrieve credit notes rulesets for source statuses.
  • list_time_off_entitlementsList time off entitlements (allowances and balances) for your team members.
  • list_time_off_requestsList time off requests, optionally only for some `engagement_ids`. Page with `page` and `limit`.
  • list_time_sheetsList time sheets submitted by team members. Page with `page` and `limit`.
  • list_typesList types. API summary: Retrieve credit notes rulesets for source types.
  • list_webhooksList webhooks. Results are paginated. API summary: Retrieve all webhook endpoints.
  • pay_payment_groupsMoves moneyCharge a payment. Financial or irreversible action; may require approval. Results are paginated. API summary: Retrieve all charge groups.
  • pay_source_typesMoves moneyPay a source (employment type). Financial or irreversible action; may require approval. API summary: Returns list of offboarding pay types.
  • reject_time_off_requestVisible to othersReject a pending time off request by `request_id` with a `reason`. The team member is notified.
  • retrieve_benefits_rulesetList rulesets. API summary: Retrieve benefits ruleset.
  • retrieve_default_expenses_rulesetList rulesets. API summary: Retrieve default expenses ruleset.
  • retrieve_default_payroll_changes_rulesets_for_source_typesList types. API summary: Retrieve default payroll changes rulesets for source types.
  • retrieve_invoices_rulesets_for_source_statusesList statuses. API summary: Retrieve invoices rulesets for source statuses.
  • retrieve_invoices_rulesets_for_source_typesList types. API summary: Retrieve invoices rulesets for source types.
  • retrieve_payroll_changes_rulesetList rulesets. Optional filters: engagement id. API summary: Retrieve payroll changes ruleset.
  • retrieve_payroll_changes_rulesets_for_source_typesList types. API summary: Retrieve payroll changes rulesets for source types.
  • retrieve_rulesets_for_creating_a_contract_changeList rulesets. Optional filters: country code, engagement type, contracting type or engagement id. API summary: Retrieve rulesets for creating a contract change.
  • retrieve_time_tracking_rulesets_for_engagementGet one ruleset by engagement id. API summary: Retrieve time tracking rulesets for engagement.
  • submit_agreementVisible to othersVerify a agreement (agreement id). Has effects visible outside this system. API summary: Verify agreement.
  • submit_employmentVisible to othersSubmit a employment (employment id). Has effects visible outside this system. API summary: Submit employment.
  • submit_formVisible to othersComplete a form (employment id). Has effects visible outside this system. API summary: Mark onboarding form as complete.
  • submit_time_sheetVisible to othersSubmit a time sheet (time sheet id). Has effects visible outside this system. API summary: Submit time sheet.
  • update_accountChanges dataUpdate an existing account identified by account id. Only the fields you pass are changed. API summary: Update bank account.
  • update_customerChanges dataUpdate an existing customer identified by customer id. Only the fields you pass are changed. API summary: Update customer.
  • update_employmentChanges dataUpdate an existing employment identified by employment id. Only the fields you pass are changed. API summary: Update employment.
  • update_employment_personal_detailsVisible to othersUpdate an existing personal detail identified by employment id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update personal details.
  • update_formsVisible to othersUpdate an existing form identified by employment id. Only the fields you pass are changed. Has effects visible outside this system. API summary: Update the onboarding form.
  • update_pageChanges dataUpdate an existing page identified by page id. Only the fields you pass are changed. API summary: Update time sheet entry.
  • update_payroll_changeChanges dataUpdate an existing payroll change identified by payroll change id. Only the fields you pass are changed. API summary: Update a payroll change.
  • update_webhookDeletesUpdate an existing webhook identified by webhook id. Only the fields you pass are changed. Destructive action; may require approval. API summary: Update a webhook endpoint.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Oyster from the app list.

  2. 2

    Paste your key

    Create your own Oyster Developer App, paste its app code, Client ID and Client secret, then sign in with Oyster once. You need Company Admin access. In Oyster open the Developer tab and create a new Developer App with the Redirect URL https://heymyapps.com/oauth/callback and the scopes you need (read, manage). Copy the Client ID and Client secret from the popup, as the secret is not shown again. On the Developer Applications page copy the Authorization URL and paste the code at its end, after /oauth/authorize/, as your app code.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Oyster?

It can list and read engagements, departments, documents, payslips, time off requests and entitlements, public holidays, time sheets, expenses, payroll changes, payrolls and Oyster invoices. It can create time off requests, expenses and payroll changes, approve or reject time off requests, approve or decline expenses and approve time sheets.

Does the AI see my Oyster credentials?

No. Your Client ID, Client secret and sign-in tokens are are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with lookups only. An approved expense is reimbursed, a payroll change changes what a team member is paid, and approvals and rejections notify the team member, so those tools can require your approval before they run. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

Oyster connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Oyster account.

What is an engagement?

In Oyster an engagement is a team member hired through Oyster, either an employee or a contractor. Most tools need its ID. You do not have to look it up: the AI lists your engagements first and picks the right one, or asks you if it is unclear.

Let your AI work in Oyster today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Oyster free

HeyMyApps is not affiliated with Oyster. Product names are trademarks of their owners.