MCP App Store
by KeenEthics
Business & Operations
Justworks icon

Justworks

by Justworks

Overview

Learn more about billing hours, payroll, insurance, and other information from Justworks platform via MCP

Tools

cancel_deductions

ChatGPT
Cancels existing deductions for the authenticated company and returns per-item cancellation results. Use when the user asks to cancel scheduled deductions. Requires body.deduction_ids with the exact IDs of the deductions to cancel. Check each item's success and error_message before reporting cancellation; a batch can contain failures. Output schema: ``json {"$defs":{"CancelDeductionsResponse":{"properties":{"items":{"description":"Results for each deduction cancellation request.","items":{"$ref":"#/$defs/CancelDeductionsResponseItem"},"type":"array"}},"required":["items"],"type":"object"},"CancelDeductionsResponseItem":{"properties":{"deduction_id":{"description":"Unique identifier of the canceled deduction.","type":"string"},"error_message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Error message when success is false."},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the deduction."},"success":{"description":"Whether the deduction was canceled successfully.","type":"boolean"}},"required":["deduction_id","member_id","success"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"}},"$ref":"#/$defs/CancelDeductionsResponse","type":"object"} ``

create_deductions

ChatGPT
Creates member deductions for the authenticated company and returns per-item creation results. Use when the user asks to add deductions for specific members. Requires body.items with member IDs, deduction type codes, amounts, frequencies, and start dates. Fixed amounts are in cents and require a currency; percentage amounts use four-decimal precision. Optional per-item operation_id values are idempotency keys; reuse them when retrying the same creation. Check each item's success and error_message before reporting creation; a batch can contain failures. Output schema: ``json {"$defs":{"CreateDeductionsResponse":{"properties":{"items":{"description":"Results for each deduction creation request.","items":{"$ref":"#/$defs/CreateDeductionsResponseItem"},"type":"array"}},"required":["items"],"type":"object"},"CreateDeductionsResponseItem":{"properties":{"deduction_id":{"description":"Unique identifier of the created deduction.","type":"string"},"error_message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Error message when success is false."},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the deduction."},"operation_id":{"description":"Client-generated idempotency key echoed back from the request.","type":"string"},"success":{"description":"Whether the deduction was created successfully.","type":"boolean"}},"required":["deduction_id","member_id","success"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"}},"$ref":"#/$defs/CreateDeductionsResponse","type":"object"} ``

create_time_off_balances_report

ChatGPT
Creates a time off balances report for the authenticated company. Use when the user asks to generate a report of used and available leave. Requires body, which can be empty; optional body.as_of_date, body.member_id, and body.policy_id narrow the report. Returns a report_id. Output schema: ``json {"$defs":{"CreateTimeOffBalancesReportResponse":{"properties":{"report_id":{"description":"Unique identifier of the generated report.","type":"string"}},"required":["report_id"],"type":"object"}},"$ref":"#/$defs/CreateTimeOffBalancesReportResponse","type":"object"} ``

get_company

ChatGPT
Returns the authenticated company's profile, including names, EIN, legal entity structure, contact information, departments, and offices. Use when answering questions about company identity or organizational structure. Output schema: ```json {"$defs":{"Address":{"properties":{"city":{"description":"City of the address.","examples":["San Francisco"],"type":"string"},"country_code":{"description":"ISO 3166-1 alpha-2 country code of the address.","examples":["US"],"type":"string"},"line1":{"description":"Primary address line of the address. Usually the street number and name.","examples":["123 Main St."],"type":"string"},"line2":{"description":"Secondary address line of the address. Usually the apartment, suite, or unit number.","examples":["Building B, Unit 101"],"type":"string"},"postal_code":{"description":"Postal or ZIP code of the address.","examples":["94107"],"type":"string"},"type":{"allOf":[{"$ref":"#/$defs/AddressType"}],"description":"Type of the address."},"zone_code":{"description":"State, province, or region code of the address.","examples":["CA"],"type":"string"}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"],"type":"object"},"AddressType":{"enum":["home","office","mailing","primary"],"type":"string"},"Company":{"properties":{"addresses":{"description":"List of addresses associated with the company.","items":{"$ref":"#/$defs/Address"},"maxItems":2,"type":"array"},"country_data":{"allOf":[{"$ref":"#/$defs/CountryCompanyData"}],"description":"Country-specific data of the company, keyed by ISO 3166-1 alpha-2 country code."},"created_at":{"description":"Timestamp when the company was created.","examples":["2021-01-01T00:00:00Z"],"format":"date-time","type":"string"},"departments":{"description":"List of departments within the company.","items":{"$ref":"#/$defs/Department"},"maxItems":1000,"type":"array"},"display_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Display name of the company.","examples":["Justworks"]},"id":{"allOf":[{"$ref":"#/$defs/CompanyIDString"}],"description":"Unique identifier of the company."},"legal_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Legal name of the company. Requires the company.detail:read scope.","examples":["Justworks, Inc."]},"offices":{"description":"List of offices within the company.","items":{"$ref":"#/$defs/Office"},"maxItems":500,"type":"array"},"phones":{"description":"List of phone numbers associated with the company.","items":{"$ref":"#/$defs/Phone"},"maxItems":1,"type":"array"},"tax_id":{"description":"Tax identification number of the company. Requires the company.detail:read scope.","examples":["12-3456789"],"type":"string"},"updated_at":{"description":"Timestamp when the company was last updated.","examples":["2021-01-01T00:00:00Z"],"format":"date-time","type":"string"}},"required":["id","display_name","country_data","addresses","phones","departments","offices","created_at","updated_at"],"type":"object"},"CompanyDataUS":{"properties":{"structure":{"allOf":[{"$ref":"#/$defs/LegalEntityStructure"}],"description":"Legal entity structure of the company."}},"type":"object"},"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","examples":["company_01j6feh5sp5jr16vtnp95kyqby"],"pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"CountryCompanyData":{"properties":{"US":{"allOf":[{"$ref":"#/$defs/CompanyDataUS"}],"description":"Country-specific data of the company for the United States."}},"type":"object"},"Department":{"properties":{"id":{"allOf":[{"$ref":"#/$defs/DepartmentIDString"}],"description":"Unique identifier of the department."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the department.","examples":["Engineering"]}},"required":["id","name"],"type":"object"},"DepartmentIDString":{"description":"Prefixed ULID identifier for a department.","examples":["dept_01j6fjwbgwrdb9datd7wp27zvf"],"pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"LegalEntityStructure":{"enum":["corporation","ll…

get_company_business_info

ChatGPT
Returns officer names and titles and state entity filings for the authenticated company. Use when identifying company leadership or reviewing state registration records. Output schema: ``json {"$defs":{"CompanyBusinessInfo":{"properties":{"entity_identifiers":{"description":"Entity identifiers filed for the company.","items":{"$ref":"#/$defs/EntityIdentifier"},"maxItems":500,"type":"array"},"officers":{"description":"Officers associated with the company.","items":{"$ref":"#/$defs/CompanyOfficer"},"maxItems":50,"type":"array"}},"required":["officers","entity_identifiers"],"type":"object"},"CompanyOfficer":{"properties":{"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Full name of the company officer."},"titles":{"description":"Titles held by the company officer.","items":{"$ref":"#/$defs/SingleLineText"},"maxItems":20,"type":"array"}},"required":["name","titles"],"type":"object"},"EntityIdentifier":{"properties":{"file_number":{"description":"Filing number assigned to the entity identifier.","type":"string"},"issue_date":{"description":"Date when the entity identifier was issued.","format":"date","type":"string"},"state":{"description":"State where the entity identifier was issued.","type":"string"}},"required":["state","issue_date","file_number"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"}},"$ref":"#/$defs/CompanyBusinessInfo","type":"object"} ``

get_member_by_id

ChatGPT
Returns one member's profile in the authenticated company, including names, contact information, current employment and pay with their histories, department, office, and manager. Use when answering questions about a specific person's work, compensation, or contact details. Requires the exact member_id. Output schema: ```json {"$defs":{"Address":{"properties":{"city":{"description":"City of the address.","examples":["San Francisco"],"type":"string"},"country_code":{"description":"ISO 3166-1 alpha-2 country code of the address.","examples":["US"],"type":"string"},"line1":{"description":"Primary address line of the address. Usually the street number and name.","examples":["123 Main St."],"type":"string"},"line2":{"description":"Secondary address line of the address. Usually the apartment, suite, or unit number.","examples":["Building B, Unit 101"],"type":"string"},"postal_code":{"description":"Postal or ZIP code of the address.","examples":["94107"],"type":"string"},"type":{"allOf":[{"$ref":"#/$defs/AddressType"}],"description":"Type of the address."},"zone_code":{"description":"State, province, or region code of the address.","examples":["CA"],"type":"string"}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"],"type":"object"},"AddressType":{"enum":["home","office","mailing","primary"],"type":"string"},"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","examples":["company_01j6feh5sp5jr16vtnp95kyqby"],"pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"CountryPayData":{"properties":{"US":{"allOf":[{"$ref":"#/$defs/PayDataUS"}],"description":"Country-specific data of the pay rate for the United States."}},"type":"object"},"Department":{"properties":{"id":{"allOf":[{"$ref":"#/$defs/DepartmentIDString"}],"description":"Unique identifier of the department."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the department.","examples":["Engineering"]}},"required":["id","name"],"type":"object"},"DepartmentIDString":{"description":"Prefixed ULID identifier for a department.","examples":["dept_01j6fjwbgwrdb9datd7wp27zvf"],"pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"Email":{"properties":{"email":{"description":"Email address.","examples":["john.smith@example.com"],"type":"string"},"type":{"allOf":[{"$ref":"#/$defs/EmailType"}],"description":"Type of the email address."}},"required":["type","email"],"type":"object"},"EmailType":{"enum":["home","work"],"type":"string"},"Employment":{"properties":{"effective_date":{"description":"Date when the employment became effective.","examples":["2021-01-01"],"format":"date","type":"string"},"job_title":{"description":"Job title of the member of the employment.","examples":["Software Engineer"],"type":"string"},"status":{"allOf":[{"$ref":"#/$defs/MemberStatus"}],"description":"Status of the member of the employment."},"type":{"allOf":[{"$ref":"#/$defs/MemberType"}],"description":"Type of the member of the employment."}},"required":["effective_date"],"type":"object"},"EmploymentLocationType":{"enum":["office","remote"],"type":"string"},"FLSAExemptStatus":{"enum":["exempt","non_exempt","unset"],"type":"string"},"Manager":{"properties":{"full_preferred_name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Full preferred name of the manager.","examples":["Jane Smith"]},"id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the manager."}},"required":["id","full_preferred_name"],"type":"object"},"Member":{"properties":{"active":{"description":"Indicates whether the member is currently active.","examples":[true],"type":"boolean"},"addresses":{"description":"List of addresses associated with the member. Requires the member.detail:read scope.","items":{"$ref":"#/$defs/Address"},"maxItems":1,"type":"array"},"company_id":{"allOf":[{"$ref":"#/$defs/CompanyIDString"}],"description":"Unique identifier of the company the member belongs to."},"created_at":{"description":"Timestamp when the member record was created.","examples"…

get_paystub_by_id

ChatGPT
Returns one paystub in the authenticated company, including its member ID, pay period, pay date, gross and net pay, pay group, and itemized earnings, employee deductions, and employer contributions. Use when explaining how a specific payment was calculated. Requires the exact paystub_id. All monetary amounts are in cents.

get_session

ChatGPT
Returns the authenticated member's identity and profile. Use when a request refers to "me" or "my" and requires information about the current user. Only member sessions are supported. Output schema: ```json {"type":"object","properties":{"data":{"type":"object","$ref":"#/$defs/Member"},"subject_id":{"type":"string"},"subject_type":{"type":"string","description":"Type of the authenticated subject. Currently only member sessions are supported."}},"$defs":{"Address":{"type":"object","properties":{"city":{"type":"string","description":"City of the address.","examples":["San Francisco"]},"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code of the address.","examples":["US"]},"line1":{"type":"string","description":"Primary address line of the address. Usually the street number and name.","examples":["123 Main St."]},"line2":{"type":"string","description":"Secondary address line of the address. Usually the apartment, suite, or unit number.","examples":["Building B, Unit 101"]},"postal_code":{"type":"string","description":"Postal or ZIP code of the address.","examples":["94107"]},"type":{"description":"Type of the address.","allOf":[{"$ref":"#/$defs/AddressType"}]},"zone_code":{"type":"string","description":"State, province, or region code of the address.","examples":["CA"]}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"]},"AddressType":{"type":"string","enum":["home","office","mailing","primary"]},"CompanyIDString":{"type":"string","description":"Prefixed ULID identifier for a company.","examples":["company_01j6feh5sp5jr16vtnp95kyqby"],"pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"CountryPayData":{"type":"object","properties":{"US":{"description":"Country-specific data of the pay rate for the United States.","allOf":[{"$ref":"#/$defs/PayDataUS"}]}}},"Department":{"type":"object","properties":{"id":{"description":"Unique identifier of the department.","allOf":[{"$ref":"#/$defs/DepartmentIDString"}]},"name":{"description":"Name of the department.","examples":["Engineering"],"allOf":[{"$ref":"#/$defs/SingleLineText"}]}},"required":["id","name"]},"DepartmentIDString":{"type":"string","description":"Prefixed ULID identifier for a department.","examples":["dept_01j6fjwbgwrdb9datd7wp27zvf"],"pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$"},"Email":{"type":"object","properties":{"email":{"type":"string","description":"Email address.","examples":["john.smith@example.com"]},"type":{"description":"Type of the email address.","allOf":[{"$ref":"#/$defs/EmailType"}]}},"required":["type","email"]},"EmailType":{"type":"string","enum":["home","work"]},"Employment":{"type":"object","properties":{"effective_date":{"type":"string","description":"Date when the employment became effective.","examples":["2021-01-01"],"format":"date"},"job_title":{"type":"string","description":"Job title of the member of the employment.","examples":["Software Engineer"]},"status":{"description":"Status of the member of the employment.","allOf":[{"$ref":"#/$defs/MemberStatus"}]},"type":{"description":"Type of the member of the employment.","allOf":[{"$ref":"#/$defs/MemberType"}]}},"required":["effective_date"]},"EmploymentLocationType":{"type":"string","enum":["office","remote"]},"FLSAExemptStatus":{"type":"string","enum":["exempt","non_exempt","unset"]},"Manager":{"type":"object","properties":{"full_preferred_name":{"description":"Full preferred name of the manager.","examples":["Jane Smith"],"allOf":[{"$ref":"#/$defs/SingleLineText"}]},"id":{"description":"Unique identifier of the manager.","allOf":[{"$ref":"#/$defs/MemberIDString"}]}},"required":["id","full_preferred_name"]},"Member":{"type":"object","properties":{"active":{"type":"boolean","description":"Indicates whether the member is currently active.","examples":[true]},"addresses":{"type":"array","items":{"$ref":"#/$defs/Address"},"description":"List of addresses associated with the member. Requires the member.detail:read scope.","maxItems":1},"company_id":{"description":"Unique identifier of the company the member belongs to…

get_time_off_balances_report_by_id

ChatGPT
Returns a time off balances report for the authenticated company, including report status, an available status or error message, and used and available leave with units by member and policy. Use when checking report progress or reviewing remaining leave balances. Requires the exact report_id. While status is pending, poll again as needed; stop when it is ready or error. Output schema: ``json {"$defs":{"GetTimeOffBalancesReportResponse":{"properties":{"items":{"description":"Time off balances returned in the report.","items":{"$ref":"#/$defs/TimeOffBalance"},"type":"array"},"message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Message describing the report status or error.","examples":["Report is ready"]},"status":{"allOf":[{"$ref":"#/$defs/ReportStatus"}],"description":"Status of the report.","examples":["ready"]}},"required":["status","items"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","examples":["member_01j6ffn569w683aptpakmzjya1"],"pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"},"ReportStatus":{"enum":["pending","ready","error"],"type":"string"},"TimeOffBalance":{"properties":{"available":{"description":"Amount of time off available.","examples":[2400],"format":"float","type":"number"},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the balance."},"policy_id":{"description":"Unique identifier of the time off policy associated with the balance.","examples":["d6975141-e0f7-46c0-b375-578ff12f03fd-topl"],"type":"string"},"unit_type":{"allOf":[{"$ref":"#/$defs/TimeOffUnitType"}],"description":"Unit of time represented by used and available."},"used":{"description":"Amount of time off used.","examples":[400],"format":"float","type":"number"}},"required":["member_id","policy_id","unit_type","used","available"],"type":"object"},"TimeOffUnitType":{"enum":["minutes","hours","days"],"type":"string"}},"$ref":"#/$defs/GetTimeOffBalancesReportResponse","type":"object"} ``

list_company_custom_fields

ChatGPT
Lists the authenticated company's custom field definitions, including labels, types, and selection options. Use when discovering available custom fields or understanding how their values are structured. Use fields to select only the top-level custom field definition fields needed for the task and reduce response size. id is always returned, even when omitted from fields; selecting it explicitly is allowed. Omit fields or pass an empty array to return all available custom field definition fields. The response contains all configured field definitions, not member-specific values. Output schema: ``json {"type":"object","$ref":"#/$defs/ListCompanyCustomFieldsResponse","$defs":{"CustomField":{"type":"object","properties":{"cardinality":{"description":"Number of values the custom field can contain.","allOf":[{"$ref":"#/$defs/CustomFieldCardinality"}]},"category":{"description":"Category of member information captured by the custom field.","allOf":[{"$ref":"#/$defs/CustomFieldCategory"}]},"id":{"type":"string","description":"Unique identifier of the custom field."},"label":{"description":"Display label of the custom field.","allOf":[{"$ref":"#/$defs/SingleLineText"}]},"options":{"type":"array","items":{"$ref":"#/$defs/SingleLineText"},"description":"Available values for selection custom fields."},"type":{"description":"Data entry type of the custom field.","allOf":[{"$ref":"#/$defs/CustomFieldType"}]}},"required":["id"]},"CustomFieldCardinality":{"type":"string","enum":["single","multiple","unknown"]},"CustomFieldCategory":{"type":"string","enum":["personal","job","other","unknown"]},"CustomFieldType":{"type":"string","enum":["text","selection","unknown"]},"ListCompanyCustomFieldsResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/CustomField"},"description":"List of custom fields configured for the company.","maxItems":200}},"required":["items"]},"SingleLineText":{"type":"string","description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$"}}} ``

list_custom_field_values_by_member_id

ChatGPT
Lists one member's custom field values in the authenticated company, including custom field IDs and their assigned values. Use when reviewing custom information recorded for a specific member. Use fields to select only the top-level custom field value fields needed for the task and reduce response size. id is always returned, even when omitted from fields; selecting it explicitly is allowed. Omit fields or pass an empty array to return all available custom field value fields. Requires the exact member_id. The response contains the complete list. Output schema: ``json {"type":"object","$ref":"#/$defs/ListCustomFieldValuesByMemberIDResponse","$defs":{"CustomFieldValue":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the custom field."},"values":{"type":"array","items":{"$ref":"#/$defs/MultiLineText"},"description":"Values assigned to the custom field for the member."}},"required":["id"]},"ListCustomFieldValuesByMemberIDResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/$defs/CustomFieldValue"},"description":"List of custom field values associated with the member.","maxItems":200}},"required":["items"]},"MultiLineText":{"type":"string","description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$"}}} ``

list_deduction_types

ChatGPT
Lists the authenticated company's available deduction types, including codes and descriptions. Use when identifying supported deduction categories or interpreting a type code. The response contains the complete list. Output schema: ``json {"$defs":{"DeductionType":{"properties":{"code":{"description":"Unique code of the deduction type.","examples":["401k_pretax"],"type":"string"},"description":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Description of the deduction type.","examples":["401(k) (pretax)"]}},"required":["code","description"],"type":"object"},"ListDeductionTypesResponse":{"properties":{"items":{"description":"Deduction types returned in the response.","items":{"$ref":"#/$defs/DeductionType"},"maxItems":200,"type":"array"}},"required":["items"],"type":"object"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"}},"$ref":"#/$defs/ListDeductionTypesResponse","type":"object"} ``

list_deductions

ChatGPT
Lists deductions for the authenticated company. Use when you need to view deductions, optionally filtered by type, frequency, description, or member.

list_fees_by_payroll_id

ChatGPT
Lists fees by payroll ID. Use when you need fees associated with a specific payroll. The 'amount' field is in cents — divide by 100 and display as dollars (e.g. 150000 → $1,500.00).

list_members

ChatGPT
Returns a paginated list of the authenticated company's members, including names, contact information, current employment and pay with their histories, departments, offices, and managers. Use when browsing the workforce or identifying a member by name, email address, or other profile details. Optional params.status and params.updated_at filters, including date comparison variants, narrow the results. Optional params.limit sets the page size and params.cursor requests the next page. There is no name or email search filter; match those details against the returned members. Output schema: ```json {"$defs":{"Address":{"properties":{"city":{"description":"City of the address.","examples":["San Francisco"],"type":"string"},"country_code":{"description":"ISO 3166-1 alpha-2 country code of the address.","examples":["US"],"type":"string"},"line1":{"description":"Primary address line of the address. Usually the street number and name.","examples":["123 Main St."],"type":"string"},"line2":{"description":"Secondary address line of the address. Usually the apartment, suite, or unit number.","examples":["Building B, Unit 101"],"type":"string"},"postal_code":{"description":"Postal or ZIP code of the address.","examples":["94107"],"type":"string"},"type":{"allOf":[{"$ref":"#/$defs/AddressType"}],"description":"Type of the address."},"zone_code":{"description":"State, province, or region code of the address.","examples":["CA"],"type":"string"}},"required":["type","line1","line2","city","zone_code","postal_code","country_code"],"type":"object"},"AddressType":{"enum":["home","office","mailing","primary"],"type":"string"},"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","examples":["company_01j6feh5sp5jr16vtnp95kyqby"],"pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"CountryPayData":{"properties":{"US":{"allOf":[{"$ref":"#/$defs/PayDataUS"}],"description":"Country-specific data of the pay rate for the United States."}},"type":"object"},"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"Department":{"properties":{"id":{"allOf":[{"$ref":"#/$defs/DepartmentIDString"}],"description":"Unique identifier of the department."},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the department.","examples":["Engineering"]}},"required":["id","name"],"type":"object"},"DepartmentIDString":{"description":"Prefixed ULID identifier for a department.","examples":["dept_01j6fjwbgwrdb9datd7wp27zvf"],"pattern":"^dept_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"Email":{"properties":{"email":{"description":"Email address.","examples":["john.smith@example.com"],"type":"string"},"type":{"allOf":[{"$ref":"#/$defs/EmailType"}],"description":"Type of the email address."}},"required":["type","email"],"type":"object"},"EmailType":{"enum":["home","work"],"type":"string"},"Employment":{"properties":{"effective_date":{"description":"Date when the employment became effective.","examples":["2021-01-01"],"format":"date","type":"string"},"job_title":{"description":"Job title of the member of the employment.","examples":["Software Engineer"],"type":"string"},"status":{"allOf":[{"$ref":"#/$defs/MemberStatus"}],"description":"Status of the member of the employment."},"type":{"allOf":[{"$ref":"#/$defs/MemberType"}],"description":"Type of the member of the employment."}},"required":["effective_date"],"type":"object"},"EmploymentLocationType":{"enum":["office","remote"],"type":"string"},"FLSAExemptStatus":{"enum":["exempt","non_exempt","unset"],"type":"string"},"ListMembersResponse":{"properties":{"items":{"description":"Members returned in the current page.","items":{"$ref":"#/$defs/Member"},"maxItems":100,"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","examples":["member_01kptz5ykqgcvhphs40k3x1vdj"]}},"required":["items"],"type":"object"},"Manager":{"properties":{"full_preferred…

list_payrolls

ChatGPT
Returns a paginated list of the authenticated company's settled payrolls, including pay and debit dates, gross and net pay, employee and employer taxes, and company debit amounts. Use when reviewing completed payroll activity or reconciling payroll costs for a period. Requires params.start_date and params.end_date to select payrolls by processing date. Optional params.limit sets the page size and params.cursor requests the next page. All monetary amounts are in cents. Output schema: ``json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"DateString":{"description":"Date in YYYY-MM-DD format.","examples":["2024-01-15"],"pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$","type":"string"},"ListPayrollsResponse":{"properties":{"items":{"description":"Payrolls returned in the current page.","items":{"$ref":"#/$defs/Payroll"},"maxItems":100,"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","examples":["eyJwYWdlX251bWJlciI6MiwidmFsdWVzIjp7Imludm9pY2VfZGF0ZSI6IjIwMjYtMDMtMDEiLCJpZCI6MTU1MDkyMzIwfX0="]}},"required":["items"],"type":"object"},"PaymentMethod":{"enum":["bank_account","wallet","unknown"],"type":"string"},"Payroll":{"properties":{"company_debit":{"description":"Amount debited from the company's account, in cents.","examples":[250000],"format":"int64","maximum":2147483647,"minimum":-2147483648,"type":"integer"},"currency":{"description":"Currency of the payroll.","examples":["USD"],"type":"string"},"debit_date":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"Date when the payroll was debited from the company's account.","examples":["2024-01-31"]},"employee_taxes":{"description":"Sum of taxes paid by employees, in cents.","examples":[30000],"format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"employer_taxes":{"description":"Sum of taxes paid by the employer, in cents.","examples":[20000],"format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"gross_pay":{"description":"Sum of employees' gross pay, in cents.","examples":[200000],"format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"id":{"description":"Unique identifier of the payroll.","examples":["00037d29-c6e3-4770-b773-bfb8ec90e547"],"type":"string"},"net_pay":{"description":"Sum of employees' net pay, in cents.","examples":[150000],"format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"pay_date":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"Date when employees were paid.","examples":["2024-02-02"]},"payment_method":{"allOf":[{"$ref":"#/$defs/PaymentMethod"}],"description":"Payment method used for the payroll."}},"required":["id","debit_date","company_debit","currency","gross_pay","net_pay","employee_taxes","employer_taxes"],"type":"object"}},"$ref":"#/$defs/ListPayrollsResponse","type":"object"} ``

list_paystubs_by_payroll_id

ChatGPT
Returns a paginated list of paystub summaries for one payroll in the authenticated company, including paystub and member IDs, pay periods, pay dates, gross and net pay, currencies, and pay groups. Use when reviewing individual payments within a payroll or identifying a member's paystub. Requires the exact payroll_id. Optional params.limit sets the page size and params.cursor requests the next page. All monetary amounts are in cents. Output schema: ``json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"DateString":{"description":"Date in YYYY-MM-DD format.","examples":["2024-01-15"],"pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$","type":"string"},"ListPaystubsByPayrollIDResponse":{"properties":{"items":{"description":"Paystubs returned in the current page.","items":{"$ref":"#/$defs/PaystubListItem"},"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","examples":["c1f7d719-c2c0-4b55-9cf7-85de2f4c6498"]}},"required":["items"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","examples":["member_01j6ffn569w683aptpakmzjya1"],"pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"PaystubListItem":{"properties":{"currency":{"description":"Currency of the paystub.","examples":["USD"],"type":"string"},"gross_pay":{"description":"Gross pay amount, in cents.","examples":[250000],"format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the paystub."},"net_pay":{"description":"Net pay amount, in cents.","examples":[185000],"format":"int64","maximum":2147483647,"minimum":0,"type":"integer"},"pay_date":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"Date when the paystub was issued.","examples":["2024-01-19"]},"pay_group":{"description":"Pay group the employee belonged to at the time of the paystub.","examples":["semimonthly"],"type":"string"},"pay_period_end":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"End date of the pay period.","examples":["2024-01-15"]},"pay_period_start":{"allOf":[{"$ref":"#/$defs/DateString"}],"description":"Start date of the pay period.","examples":["2024-01-01"]},"paystub_id":{"description":"Unique identifier of the paystub.","examples":["c1f7d719-c2c0-4b55-9cf7-85de2f4c6498"],"type":"string"}},"required":["paystub_id","member_id","pay_date","currency","gross_pay","net_pay"],"type":"object"}},"$ref":"#/$defs/ListPaystubsByPayrollIDResponse","type":"object"} ``

list_subscriptions

ChatGPT
Lists the authenticated company's subscriptions, including product names, status, billing start and end dates, pricing, discounts, and add-ons. Use when reviewing subscribed services or understanding their pricing arrangements. Optional params.include_expired includes expired subscriptions when true and defaults to false. The response contains the complete matching list, with child subscriptions nested under add_ons. Output schema: ```json {"$defs":{"CompanyIDString":{"description":"Prefixed ULID identifier for a company.","examples":["company_01j6feh5sp5jr16vtnp95kyqby"],"pattern":"^company_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"DateTimeString":{"description":"Timestamp in ISO 8601 date-time format.","examples":["2024-01-15T00:00:00Z"],"pattern":"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(\\.\\d+)?(Z|[+-]([01]\\d|2[0-3]):[0-5]\\d)$","type":"string"},"Discount":{"properties":{"amount":{"$ref":"#/$defs/DiscountAmount"},"end_date":{"anyOf":[{"allOf":[{"$ref":"#/$defs/DateTimeString"}],"description":"ISO 8601 date-time when the discount ends.","examples":["2025-01-01T00:00:00Z"]},{"type":"null"}]},"id":{"description":"Unique identifier for the discount.","examples":["disc_01abc"],"type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Display name of the discount.","examples":["Early Adopter"]},"rule_type":{"description":"Rule type governing discount eligibility: STANDARD, CUSTOM, or OVERRIDE.","examples":["STANDARD"],"type":"string"},"start_date":{"allOf":[{"$ref":"#/$defs/DateTimeString"}],"description":"ISO 8601 date-time when the discount takes effect.","examples":["2024-01-01T00:00:00Z"]},"strategy":{"description":"How the discount is calculated: FIXED_ENTITY, FIXED_TOTAL, PERCENTAGE, or PREPAID_SEAT.","examples":["PERCENTAGE"],"type":"string"}},"required":["id","name","amount","strategy","rule_type","start_date"],"type":"object"},"DiscountAmount":{"description":"Discount amount broken down by entity type. Which fields are populated depends on the discount strategy and the entity types it applies to.","properties":{"administrator":{"$ref":"#/$defs/DiscountAmountTiers"},"company":{"$ref":"#/$defs/DiscountAmountTiers"},"contractor":{"$ref":"#/$defs/DiscountAmountTiers"},"employee_any":{"$ref":"#/$defs/DiscountAmountTiers"},"employee_full_time":{"$ref":"#/$defs/DiscountAmountTiers"},"employee_part_time":{"$ref":"#/$defs/DiscountAmountTiers"},"intl_contractor":{"$ref":"#/$defs/DiscountAmountTiers"},"vendor_company":{"$ref":"#/$defs/DiscountAmountTiers"},"workplace":{"$ref":"#/$defs/DiscountAmountTiers"}},"type":"object"},"DiscountAmountTiers":{"description":"Tier-based adjustment amounts for a single entity type.","properties":{"consumable_current_counts":{"description":"Current un-used prepaid seat counts.","type":"integer"},"consumable_initial_counts":{"description":"Initial prepaid seat counts at purchase or migration.","type":"integer"},"consumable_unit_price":{"description":"Per-seat unit price for prepaid adjustments.","type":"string"},"flat":{"description":"Flat discount amount.","type":"string"},"tier_1":{"description":"Tier 1 (low) discount amount.","type":"string"},"tier_2":{"description":"Tier 2 (high) discount amount.","type":"string"}},"type":"object"},"ListSubscriptionsResponse":{"properties":{"items":{"description":"Subscriptions associated with the company.","items":{"$ref":"#/$defs/Subscription"},"maxItems":25,"type":"array"}},"required":["items"],"type":"object"},"Price":{"properties":{"amount":{"description":"Unit price amount for this entity type.","examples":["49.0000"],"type":"string"},"style":{"description":"Pricing style: FLAT or STEP_TIER.","examples":["FLAT"],"type":"string"},"type":{"description":"The entity type this price applies to (e.g. EMPLOYEE_FULL_TIME, CONTRACTOR).","examples":["EMPLOYEE_FULL_TIME"],"type":"string"}},"required":["type","style","amount"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"},"…

list_time_off_policies

ChatGPT
Returns a paginated list of the authenticated company's time off policies, including IDs, names, types, status, effective dates, and deactivation dates. Use when reviewing available leave categories or identifying a policy by name. Optional params.status filters by policy status. Optional params.limit sets the page size and params.cursor requests the next page. Match policy names or IDs against the returned policies. Output schema: ``json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"ListTimeOffPoliciesResponse":{"properties":{"items":{"description":"Time off policies returned in the current page.","items":{"$ref":"#/$defs/TimeOffPolicy"},"maxItems":100,"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available.","examples":["d6975141-e0f7-46c0-b375-578ff12f03fd-topl"]}},"required":["items"],"type":"object"},"SingleLineText":{"description":"Single-line text. Rejects ASCII control characters.","pattern":"^[^\\x00-\\x1f]*$","type":"string"},"TimeOffPolicy":{"properties":{"deactivation_date":{"description":"Date when the time off policy is deactivated.","examples":["2024-12-31"],"format":"date","type":"string"},"effective_date":{"description":"Date when the time off policy becomes effective.","examples":["2024-01-01"],"format":"date","type":"string"},"id":{"description":"Unique identifier of the time off policy.","examples":["d6975141-e0f7-46c0-b375-578ff12f03fd-topl"],"type":"string"},"name":{"allOf":[{"$ref":"#/$defs/SingleLineText"}],"description":"Name of the time off policy.","examples":["Vacation"]},"status":{"allOf":[{"$ref":"#/$defs/TimeOffPolicyStatus"}],"description":"Status of the time off policy."},"type":{"allOf":[{"$ref":"#/$defs/TimeOffPolicyType"}],"description":"Type of the time off policy."}},"required":["id","name","status","type","effective_date"],"type":"object"},"TimeOffPolicyStatus":{"enum":["active","inactive"],"type":"string"},"TimeOffPolicyType":{"enum":["vacation","sick_leave","other","international"],"type":"string"}},"$ref":"#/$defs/ListTimeOffPoliciesResponse","type":"object"} ``

list_time_off_requests

ChatGPT
Returns a paginated list of the authenticated company's time off requests, including member and policy IDs, dates, requested amounts and units, status, and employee notes. Use when reviewing absences or identifying a request to approve or decline. Requires params.start_date and params.end_date to filter requests by date range. Optional params.member_id, params.policy_id, and params.status narrow the results. Optional params.limit sets the page size and params.cursor requests the next page. Output schema: ``json {"$defs":{"CursorString":{"description":"Opaque pagination cursor.","maxLength":4096,"pattern":"^[A-Za-z0-9_+=/.-]*$","type":"string"},"ListTimeOffRequestsResponse":{"properties":{"items":{"description":"Time off requests returned in the current page.","items":{"$ref":"#/$defs/TimeOffRequest"},"maxItems":100,"type":"array"},"next_cursor":{"allOf":[{"$ref":"#/$defs/CursorString"}],"description":"Cursor for fetching the next page of results. Omitted when no additional pages are available."}},"required":["items"],"type":"object"},"MemberIDString":{"description":"Prefixed ULID identifier for a member.","examples":["member_01j6ffn569w683aptpakmzjya1"],"pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"},"TimeOffRequest":{"properties":{"amount":{"description":"Amount of time off requested.","examples":[400],"format":"float","type":"number"},"created_at":{"description":"Timestamp when the time off request was created.","examples":["2024-01-01T00:00:00Z"],"format":"date-time","type":"string"},"end_date":{"description":"Date when the time off request ends.","examples":["2024-01-02"],"format":"date","type":"string"},"id":{"description":"Unique identifier of the time off request.","examples":["e1f4b157-a8ba-4c54-bb14-6ba7f89f79e4-torq"],"type":"string"},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member who requested the time off."},"notes":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Notes submitted by the employee for the request.","examples":["Vacation"]},"policy_id":{"description":"Unique identifier of the time off policy associated with the request.","examples":["d6975141-e0f7-46c0-b375-578ff12f03fd-topl"],"type":"string"},"start_date":{"description":"Date when the time off request starts.","examples":["2024-01-01"],"format":"date","type":"string"},"status":{"allOf":[{"$ref":"#/$defs/TimeOffRequestStatus"}],"description":"Status of the time off request."},"unit_type":{"allOf":[{"$ref":"#/$defs/TimeOffUnitType"}],"description":"Unit of time represented by amount."},"updated_at":{"description":"Timestamp when the time off request was last updated.","examples":["2024-01-01T00:00:00Z"],"format":"date-time","type":"string"}},"required":["id","member_id","policy_id","start_date","end_date","unit_type","amount","status","updated_at"],"type":"object"},"TimeOffRequestStatus":{"enum":["requested","approved","declined","cancelled","deleted","manual"],"type":"string"},"TimeOffUnitType":{"enum":["minutes","hours","days"],"type":"string"}},"$ref":"#/$defs/ListTimeOffRequestsResponse","type":"object"} ``

update_deductions

ChatGPT
Updates existing deductions for the authenticated company and returns per-item update results. Use when the user asks to change scheduled deductions. Requires body.items with exact deduction IDs and the fields to change; omitted fields remain unchanged. Fixed amounts are in cents and require a currency; percentage amounts use four-decimal precision. Check each item's success and error_message before reporting an update; a batch can contain failures. Output schema: ``json {"$defs":{"MemberIDString":{"description":"Prefixed ULID identifier for a member.","pattern":"^member_[0-9a-hjkmnp-tv-zA-HJKMNP-TV-Z]{26}$","type":"string"},"MultiLineText":{"description":"Multi-line text. Rejects ASCII control characters except tab, line feed, and carriage return.","pattern":"^[^\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]*$","type":"string"},"UpdateDeductionsResponse":{"properties":{"items":{"description":"Results for each deduction update request.","items":{"$ref":"#/$defs/UpdateDeductionsResponseItem"},"type":"array"}},"required":["items"],"type":"object"},"UpdateDeductionsResponseItem":{"properties":{"deduction_id":{"description":"Unique identifier of the updated deduction.","type":"string"},"error_message":{"allOf":[{"$ref":"#/$defs/MultiLineText"}],"description":"Error message when success is false."},"member_id":{"allOf":[{"$ref":"#/$defs/MemberIDString"}],"description":"Unique identifier of the member associated with the deduction."},"operation_id":{"description":"Client-generated idempotency key echoed back from the request.","type":"string"},"success":{"description":"Whether the deduction was updated successfully.","type":"boolean"}},"required":["deduction_id","member_id","success"],"type":"object"}},"$ref":"#/$defs/UpdateDeductionsResponse","type":"object"} ``

Capabilities

Writes

App Stats

21

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily