---
title: "Factorial MCP server for AI agents - actionlake"
description: "Give Claude 608 Factorial actions through one MCP server: performance, project management. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/factorial
updated: 2026-10-23
---

Connectors · Accounting & finance

# Factorial MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Factorial and the rest of your systems. It gives your agent 608 Factorial actions (317 reads, 221 writes and 70 that wait for a confirmation) and holds the Factorial credential itself, so the agent never does. It paces Factorial's limits and records every call.

[Connect Factorial free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "factorial.locations.list",
  intent: "check which Factorial account is connected"
}
# Reads all Locations · read · 1 upstream call
```

- 608 actions in one signed file
- 317 read look, never change
- 221 write create and update
- 70 wait for a yes destructive, confirmed first

Set up

## Connect Factorial in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Factorial.
   API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Factorial API key: an admin opens Settings > Integrations > API keys (Developers) in Factorial, creates a key and…
   - `host` Where your Factorial lives: your host
   ```
   account { op: "connections.requirements", service: "factorial" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "factorial.locations.list" }
   # reads all locations · read · 1 upstream call
   check { action: "factorial.locations.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Factorial at a glance

**Sign-in**

API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Setup fields**

`host`

**Limits we pace to**

100 calls a minute, per connection

**API covered**

Factorial API 2026-10-01 (OpenAPI 3.1.0)`api.factorialhr.com`

**Built from**

Factorial's documentation, read 23 October 2026[api.factorialhr.com](https://api.factorialhr.com/oas/?version=2026-10-01) [apidoc.factorialhr.com](https://apidoc.factorialhr.com/reference)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

315 of 317 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

7, so ask can line Factorial up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Factorial.

608 actions in 38 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **317** read look, never change
- **221** write create and update
- **70** destructive wait for a confirmation

1. ### Performance
   56
   24 read · 27 write · 5 destructive
   Bulk initiates an Agreement · Initiates an Agreement · Reads all Agreements · Reads all Company employee score scales
2. ### Project management
   50
   21 read · 21 write · 8 destructive
   Reads all Projects · Creates a Project · Reads a single Project · Updates a Project
3. ### ATS
   44
   24 read · 15 write · 5 destructive
   Reads all Candidates · Creates a Candidate · Reads a single Candidate · Updates a Candidate
4. ### Timeoff
   43
   18 read · 16 write · 9 destructive
   Creates a Leave · Reads all Leaves · Reads all Leave types · Reads a single Leave
5. ### Contracts
   41
   30 read · 9 write · 2 destructive
   Creates a Compensation · Reads all Compensations · List the activity periods of a contract · Reads all Contract templates
6. ### Finance
   41
   25 read · 15 write · 1 destructive
   Reads all Tax rates · Reads all Journal entries · Creates a Tax rate · Creates a Journal entry
7. ### Attendance
   34
   13 read · 17 write · 4 destructive
   Creates a shift · Reads all Shifts · Updates a Shift · Reads a single Shift
8. ### Trainings
   34
   14 read · 13 write · 7 destructive
   Reads all Trainings · Creates a Training · Reads a single Training · Updates a Training

**30 more areas · 265 actions**

- Compensations **23**
- Procurement **18**
- Posts **16**
- Custom fields **14**
- Tasks **13**
- Work schedule **13**
- Employee updates **12**
- Teams **12**
- Documents **11**
- It management **11**
- Locations **11**
- Expenses **10**
- Integrations **9**
- Payroll **9**
- Payroll employees **9**
- Custom resources **8**
- Employees **8**
- Time planning **8**
- Banking **7**
- API public **6**
- Job catalog **6**
- Shift management **6**
- Time settings **6**
- Payroll integrations base **4**
- Bookkeepers management **3**
- Companies **3**
- Processes **3**
- Approvals **2**
- Holidays **2**
- Marketplace **2**

Top actions

## The Factorial API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 83 of Factorial's 83 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `factorial.employees.list` Reads all Employees | Reads all Employees. | read | `hr.employee.list` 61 connectors |
| `factorial.locations.list` Reads all Locations | Reads all Locations. | read | `hr.location.list` 32 connectors |
| `factorial.candidates.list` Reads all Candidates | Reads all Candidates. | read | `hr.candidate.list` 22 connectors |
| `factorial.expenses.list` Reads all Expenses | Reads all Expenses. | read | `finance.expense.list` 40 connectors |
| `factorial.tasks.list` Reads all Tasks | Reads all Tasks. | read | `work.task.list` 122 connectors |
| `factorial.projects.list` Reads all Projects | Reads all Projects. | read | `work.project.list` 109 connectors |
| `factorial.employees.get` Reads a single Employee | Reads a single Employee. | read | `hr.employee.get` 58 connectors |
| `factorial.locations.create` Creates a Location | Creates a Location. | write | `hr.location.create` 23 connectors |
| `factorial.candidates.create` Creates a Candidate | Creates a Candidate. | write | `hr.candidate.create` 20 connectors |
| `factorial.tasks.create` Creates a Task | Creates a Task. | write | `work.task.create` 127 connectors |
| `factorial.projects.create` Creates a Project | Creates a Project. | write | `work.project.create` 102 connectors |
| `factorial.locations.delete` Deletes a Location | Deletes a Location. | destructive | `hr.location.delete` 20 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Factorial actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Factorial tasks are overdue, and who owns each one?
   calls `factorial.tasks.list`
2. Write write
   Creates a Location in Factorial. Show me exactly what you will send before you save it.
   calls `factorial.locations.create`

Governance for Factorial

## Destructive actions wait for a yes.

70 Factorial actions are destructive. The first 10:

- Deletes a Location `factorial.locations.delete`
- Deletes a Candidate `factorial.candidates.delete`
- Deletes a Task `factorial.tasks.delete`
- Deletes a Leave `factorial.leaves.delete`
- Deletes a Shift `factorial.shift_management_shifts.delete`
- Deletes a Shift `factorial.attendance_shifts.delete`
- Deletes a Training `factorial.trainings.delete`
- Deletes an Application `factorial.applications.delete`
- Deletes a Job posting `factorial.job_postings.delete`
- Deletes a Time record `factorial.time_records.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do factorial.locations.delete confirm_policy: **human**

Deletes a Location?

**intent:** the user asked me to deletes a Location

run suspended · waiting for a named person · key _factorial-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "factorial-agent",
  allowed_actions: ["factorial.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "factorial.locations.delete", approver: "lead@example.com" },
    { match: "factorial.candidates.delete", approver: "lead@example.com" },
    { match: "factorial.tasks.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Factorial only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Factorial costs on actionlake.

Every Factorial action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Factorial refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 608 Factorial actions
- 608 actions page each page of a long list is one call
- 315 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Factorial action.

608 actions by area: the id your agent calls, what it does, and its effect.

**Performance 56**

- `factorial.agreements.bulk_initiate` Bulk initiates an Agreement write
- `factorial.agreements.initiate` Initiates an Agreement write
- `factorial.agreements.list` Reads all Agreements read
- `factorial.company_employee_score_scales.list` Reads all Company employee score scales read
- `factorial.agreements.get` Reads a single Agreement read
- `factorial.company_employee_score_scales.get` Reads a single Company employee score scale read
- and 50 more in this area

**Project management 50**

- `factorial.projects.create` Creates a Project write
- `factorial.projects.get` Reads a single Project read
- `factorial.projects.list` Reads all Projects read
- `factorial.projects.update` Updates a Project write
- `factorial.budget_strategies.create` Creates a Budget strategy write
- `factorial.budget_strategies.delete` Deletes a Budget strategy destructive
- and 44 more in this area

**ATS 44**

- `factorial.candidates.create` Creates a Candidate write
- `factorial.candidates.get` Reads a single Candidate read
- `factorial.candidates.list` Reads all Candidates read
- `factorial.candidates.update` Updates a Candidate write
- `factorial.answers.create` Creates an Answer write
- `factorial.answers.get` Reads a single Answer read
- and 38 more in this area

**Timeoff 43**

- `factorial.leave_types.list` Reads all Leave types read
- `factorial.leaves.create` Creates a Leave write
- `factorial.leaves.get` Reads a single Leave read
- `factorial.leaves.list` Reads all Leaves read
- `factorial.allowance_incidences.create` Creates an Allowance incidence write
- `factorial.allowance_incidences.delete` Deletes an Allowance incidence destructive
- and 37 more in this area

**Contracts 41**

- `factorial.compensations.create` Creates a Compensation write
- `factorial.compensations.list` Reads all Compensations read
- `factorial.contract_activity_periods.list` List the activity periods of a contract read
- `factorial.contract_templates.list` Reads all Contract templates read
- `factorial.compensations.delete` Deletes a Compensation destructive
- `factorial.compensations.get` Reads a single Compensation read
- and 35 more in this area

**Finance 41**

- `factorial.journal_entries.create` Creates a Journal entry write
- `factorial.journal_entries.list` Reads all Journal entries read
- `factorial.tax_rates.create` Creates a Tax rate write
- `factorial.tax_rates.list` Reads all Tax rates read
- `factorial.accounting_settings.get` Reads a single Accounting setting read
- `factorial.accounting_settings.list` Reads all Accounting settings read
- and 35 more in this area

**Attendance 34**

- `factorial.attendance_shifts.create` Creates a shift write
- `factorial.attendance_shifts.get` Reads a single Shift read
- `factorial.attendance_shifts.list` Reads all Shifts read
- `factorial.attendance_shifts.update` Updates a Shift write
- `factorial.attendance_break_configurations.create` Creates a Break configuration write
- `factorial.attendance_break_configurations.get` Reads a single Break configuration read
- and 28 more in this area

**Trainings 34**

- `factorial.trainings.create` Creates a Training write
- `factorial.trainings.get` Reads a single Training read
- `factorial.trainings.list` Reads all Trainings read
- `factorial.trainings.update` Updates a Training write
- `factorial.session_access_memberships.bulk_create` Bulk creates a Session access membership write
- `factorial.session_access_memberships.bulk_destroy` Bulk destroys a Session access membership destructive
- and 28 more in this area

**Compensations 23**

- `factorial.additional_compensations.create` Creates an Additional compensation write
- `factorial.additional_compensations.list` Reads all Additional compensations read
- `factorial.payroll_runs.get` Reads a single Payroll run read
- `factorial.payroll_runs.list` Reads all Payroll runs read
- `factorial.additional_compensations.delete` Deletes an Additional compensation destructive
- `factorial.additional_compensations.get` Reads a single Additional compensation read
- and 17 more in this area

**Procurement 18**

- `factorial.purchase_orders.create` Creates a Purchase order write
- `factorial.purchase_orders.get` Reads a single Purchase order read
- `factorial.purchase_orders.list` Reads all Purchase orders read
- `factorial.purchase_orders.update` Updates a Purchase order write
- `factorial.po_field_values.get` Reads a single Po field value read
- `factorial.po_field_values.list` Reads all Po field values read
- and 12 more in this area

**Posts 16**

- `factorial.comments.create` Creates a Comment write
- `factorial.comments.list` Reads all Comments read
- `factorial.groups.create` Creates a Group write
- `factorial.groups.list` Reads all Groups read
- `factorial.comments.delete` Deletes a Comment destructive
- `factorial.comments.get` Reads a single Comment read
- and 10 more in this area

**Custom fields 14**

- `factorial.custom_fields_values.create` Creates a Value write
- `factorial.custom_fields_values.list` Reads all Values read
- `factorial.fields.create` Creates a Field write
- `factorial.fields.list` Reads all Fields read
- `factorial.custom_fields_values.get` Reads a single Value read
- `factorial.custom_fields_values.update` Updates a Value write
- and 8 more in this area

**Tasks 13**

- `factorial.tasks.create` Creates a Task write
- `factorial.tasks.get` Reads a single Task read
- `factorial.tasks.list` Reads all Tasks read
- `factorial.tasks.update` Updates a Task write
- `factorial.task_files.delete` Deletes a Task file destructive
- `factorial.task_files.get` Reads a single Task file read
- and 7 more in this area

**Work schedule 13**

- `factorial.day_configurations.list` Reads all Day configurations read
- `factorial.overlap_periods.create` Creates an Overlap period write
- `factorial.overlap_periods.list` Reads all Overlap periods read
- `factorial.schedules.create` Creates a Schedule write
- `factorial.day_configurations.bulk_cud` Bulk cuds a Day configuration write
- `factorial.day_configurations.get` Reads a single Day configuration read
- and 7 more in this area

**Employee updates 12**

- `factorial.absences.list` Reads all Absences read
- `factorial.contract_changes.list` Reads all Contract changes read
- `factorial.new_hires.list` Reads all New hires read
- `factorial.personal_changes.list` Reads all Personal changes read
- `factorial.absences.get` Reads a single Absence read
- `factorial.contract_changes.get` Reads a single Contract change read
- and 6 more in this area

**Teams 12**

- `factorial.memberships.create` Creates a Membership write
- `factorial.memberships.list` Reads all Memberships read
- `factorial.teams.create` Creates a Team write
- `factorial.teams.list` Reads all Teams read
- `factorial.memberships.delete` Deletes a Membership destructive
- `factorial.memberships.get` Reads a single Membership read
- and 6 more in this area

**Documents 11**

- `factorial.folders.create` Creates a Folder write
- `factorial.folders.get` Reads a single Folder read
- `factorial.folders.list` Reads all Folders read
- `factorial.folders.update` Updates a Folder write
- `factorial.documents.delete` Deletes a Document destructive
- `factorial.documents.get` Reads a single Document read
- and 5 more in this area

**It management 11**

- `factorial.asset_categories.list` Reads all Asset categories read
- `factorial.it_asset_models.create` Creates an It asset model write
- `factorial.it_asset_models.list` Reads all It asset models read
- `factorial.it_assets.create` Creates an It asset write
- `factorial.asset_categories.get` Reads a single Asset category read
- `factorial.it_asset_models.get` Reads a single It asset model read
- and 5 more in this area

**Locations 11**

- `factorial.locations.create` Creates a Location write
- `factorial.locations.get` Reads a single Location read
- `factorial.locations.list` Reads all Locations read
- `factorial.locations.update` Updates a Location write
- `factorial.locations.delete` Deletes a Location destructive
- `factorial.work_areas.archive` Archives a Work area write
- and 5 more in this area

**Expenses 10**

- `factorial.expensables.list` Reads all Expensables read
- `factorial.expenses.get` Reads a single Expense read
- `factorial.expenses.list` Reads all Expenses read
- `factorial.mileages.list` Reads all Mileages read
- `factorial.expensables.bulk_set_to_paid` Bulk set to paids an Expensable destructive
- `factorial.expensables.get` Reads a single Expensable read
- and 4 more in this area

**Integrations 9**

- `factorial.sync_runs.create` Creates a Sync run write
- `factorial.sync_runs.list` Reads all Sync runs read
- `factorial.syncable_states.list` Reads all Syncable states read
- `factorial.syncable_sync_runs.list` Reads all Syncable sync runs read
- `factorial.sync_runs.get` Reads a single Sync run read
- `factorial.syncable_states.get` Reads a single Syncable state read
- and 3 more in this area

**Payroll 9**

- `factorial.family_situations.create` Creates a Family situation write
- `factorial.family_situations.list` Reads all Family situations read
- `factorial.supplements.create` Creates a Supplement write
- `factorial.supplements.list` Reads all Supplements read
- `factorial.family_situations.update` Updates a Family situation write
- `factorial.policy_periods.change_status` Change statuses a Policy period write
- and 3 more in this area

**Payroll employees 9**

- `factorial.german_employee_data.create` Creates a German employee datum write
- `factorial.german_employee_data.list` Reads all German employee data read
- `factorial.identifiers.create` Creates an Identifier write
- `factorial.identifiers.list` Reads all Identifiers read
- `factorial.german_employee_data.get` Reads a single German employee datum read
- `factorial.german_employee_data.update` Updates a German employee datum write
- and 3 more in this area

**Custom resources 8**

- `factorial.custom_resources_values.create` Creates a Value write
- `factorial.custom_resources_values.list` Reads all Values read
- `factorial.resources.list` Reads all Resources read
- `factorial.schemas.create` Creates a Schema write
- `factorial.custom_resources_values.get` Reads a single Value read
- `factorial.resources.get` Reads a single Resource read
- and 2 more in this area

**Employees 8**

- `factorial.employees.create_with_contract` Create with contracts an Employee write
- `factorial.employees.get` Reads a single Employee read
- `factorial.employees.list` Reads all Employees read
- `factorial.employees.update` Updates an Employee write
- `factorial.employees.invite` Invites an Employee write
- `factorial.employees.set_regular_access_start_date` Set regular access start dates an Employee write
- and 2 more in this area

**Time planning 8**

- `factorial.planned_breaks.bulk_create` Bulk creates a Planned break write
- `factorial.planned_breaks.list` Reads all Planned breaks read
- `factorial.planning_versions.bulk_create` Bulk creates a Planning version write
- `factorial.planning_versions.create` Creates a Planning version write
- `factorial.planned_breaks.get` Reads a single Planned break read
- `factorial.planning_versions.delete` Deletes a Planning version destructive
- and 2 more in this area

**Banking 7**

- `factorial.bank_accounts.create_manual` Create manuals a Bank account write
- `factorial.bank_accounts.list` Reads all Bank accounts read
- `factorial.transactions.get` Reads a single Transaction read
- `factorial.transactions.list` Reads all Transactions read
- `factorial.bank_accounts.get` Reads a single Bank account read
- `factorial.card_payments.get` Reads a single Card payment read
- and 1 more in this area

**API public 6**

- `factorial.credentials.list` Reads all Credentials read
- `factorial.webhook_subscriptions.create` Creates a Webhook subscription write
- `factorial.webhook_subscriptions.get` Reads a single Webhook subscription read
- `factorial.webhook_subscriptions.list` Reads all Webhook subscriptions read
- `factorial.webhook_subscriptions.delete` Deletes a Webhook subscription destructive
- `factorial.webhook_subscriptions.update` Updates a Webhook subscription write

**Job catalog 6**

- `factorial.levels.list` Reads all Levels read
- `factorial.node_attributes.list` Reads all Node attributes read
- `factorial.roles.list` Reads all Roles read
- `factorial.tree_nodes.list` Reads all Tree nodes read
- `factorial.levels.get` Reads a single Level read
- `factorial.roles.get` Reads a single Role read

**Shift management 6**

- `factorial.shift_management_shifts.create` Creates a Shift write
- `factorial.shift_management_shifts.delete` Deletes a Shift destructive
- `factorial.shift_management_shifts.get` Reads a single Shift read
- `factorial.shift_management_shifts.list` Reads all Shifts read
- `factorial.shift_management_shifts.bulk_create` Bulk creates a Shift write
- `factorial.shift_management_shifts.bulk_delete` Bulk deletes a Shift destructive

**Time settings 6**

- `factorial.split_custom_time_range_categories.get` Reads a single Split custom time range category read
- `factorial.split_custom_time_range_categories.list` Reads all Split custom time range categories read
- `factorial.time_settings_break_configurations.create` Creates a Break configuration write
- `factorial.time_settings_break_configurations.list` Reads all Break configurations read
- `factorial.time_settings_break_configurations.get` Reads a single Break configuration read
- `factorial.time_settings_break_configurations.update` Updates a Break configuration write

**Payroll integrations base 4**

- `factorial.codes.create` Creates a Code write
- `factorial.codes.delete` Deletes a Code destructive
- `factorial.codes.list` Reads all Codes read
- `factorial.codes.update` Updates a Code write

**Bookkeepers management 3**

- `factorial.incidences.get` Reads a single Incidence read
- `factorial.incidences.list` Reads all Incidences read
- `factorial.incidences.update` Updates an Incidence write

**Companies 3**

- `factorial.legal_entities.create` Creates a Legal entity write
- `factorial.legal_entities.get` Reads a single Legal entity read
- `factorial.legal_entities.list` Reads all Legal entities read

**Processes 3**

- `factorial.materialized_processes.create` Creates a Materialized process write
- `factorial.processes.get` Reads a single Process read
- `factorial.processes.list` Reads all Processes read

**Approvals 2**

- `factorial.materialized_approvals_flows.approve_resource` Approves an approval flow by resource destructive
- `factorial.materialized_approvals_flows.reject_resource` Rejects an approval flow by resource write

**Holidays 2**

- `factorial.company_holidays.get` Reads a single Company holiday read
- `factorial.company_holidays.list` Reads all Company holidays read

**Marketplace 2**

- `factorial.installation_settings.list` Reads all Installation settings read
- `factorial.installations.create` Creates an Installation write

This index shows a sample of each area. All 608 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/catalogue), which a free sandbox key can search.

Questions

## The Factorial MCP server, answered.

**Is there a Factorial MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 608 Factorial actions across performance, project management, ATS and timeoff, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Factorial.

**What do I need to connect Factorial?**

Factorial API key: an admin opens Settings > Integrations > API keys (Developers) in Factorial, creates a key and…. Plus your host. The free call account { op: "connections.requirements", service: "factorial" } lists exactly what to paste.

**Can an AI agent delete or change things in Factorial?**

Only if its key allows it, and only with an explicit confirmation. 70 Factorial actions are destructive, including deletes a Location, deletes a Candidate and deletes a Task. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Factorial API limit?**

actionlake paces every call to the limits in the Factorial service file: 100 calls a minute per connection. Repeated reads are answered from cache (315 Factorial actions can be), which never reaches Factorial.

**What does a Factorial action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (608 Factorial actions page). Cache hits, searches, dry runs and calls Factorial refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Factorial API does it cover?**

The Factorial API 2026-10-01 (OpenAPI 3.1.0) at api.factorialhr.com by default, or the base URL set when you connect. It is built from Factorial's documentation as read on 23 October 2026. 608 actions in 38 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Factorial data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Factorial credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Factorial

Shares the most action names with

- [Sesame HR 38](https://actionlake.com/connectors/sesame-hr)
- [Tanda (Workforce.com) 34](https://actionlake.com/connectors/tanda-workforce-com)
- [BambooHR 33](https://actionlake.com/connectors/bamboohr)
- [Paycor 28](https://actionlake.com/connectors/paycor)
- [Personio 27](https://actionlake.com/connectors/personio)
- [When I Work 26](https://actionlake.com/connectors/when-i-work)

Joins with, on shared entities

- [Deel 4](https://actionlake.com/connectors/deel)
- [Recruitee 3](https://actionlake.com/connectors/recruitee)
- [Teamwork 3](https://actionlake.com/connectors/teamwork)
- [Lark Suite 3](https://actionlake.com/connectors/lark-suite)
- [Kantata 3](https://actionlake.com/connectors/kantata)
- [Accelo 3](https://actionlake.com/connectors/accelo)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Factorial; the name is the vendor's own. Counts are from the Factorial service file, version 1.0.0.

## Give your agent Factorial today.

[Connect Factorial free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/factorial
More: https://actionlake.com/llms.txt
