Linking Factorial as a source

Alpha release

This source is currently in alpha. The interface and available tables may change.

The Factorial connector syncs your HR, time-off, attendance, payroll, and recruiting data into PostHog, so you can analyze it alongside your product data.

Prerequisites

You need a Factorial account with access to create an API key that has read access to your company's data.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking Factorial, you'll need:

  • API key – create an API key in your Factorial account under Settings > API keys (or Integrations > Public API). The key grants read access to your company's data across every supported table.

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

This source is full refresh only.

Configuration

OptionTypeRequired
API keypasswordYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
employees

People employed at the company, with their personal and employment details.

Full refresh
teams

Teams used to group employees within the company.

Full refresh
team_memberships

Join records mapping employees to the teams they belong to.

Full refresh
locations

Workplaces/locations the company operates from, including their time zones.

Full refresh
legal_entities

Legal entities (companies) configured in the account.

Full refresh
contract_versions

Versions of an employee's contract; the latest holds the current job title, salary, and working hours.

Full refresh
leaves

Individual time-off / absence records for employees.

Full refresh
leave_types

Types of time off / absence configured for the company (e.g. holiday, sick leave).

Full refresh
allowances

Time-off allowance counters (the buckets of days/hours employees can take).

Full refresh
attendance_shifts

Attendance shifts: clock-in/clock-out records for employees.

Full refresh
expenses

Employee expenses submitted for reimbursement.

Full refresh
payroll_supplements

Payroll supplements (one-off additions or deductions applied to payroll).

Full refresh
flexible_time_records

Flexible time records logged against projects (project time tracking).

Full refresh
projects

Projects used for time tracking.

Full refresh
candidates

Candidates in the applicant tracking system (ATS).

Full refresh
job_postings

Job postings published in the applicant tracking system (ATS).

Full refresh
applications

Applications linking candidates to job postings in the ATS.

Full refresh

Troubleshooting

  • If you see an invalid or revoked key error, create a new key in your Factorial account settings, then reconnect.
  • If access is denied, check the key's permissions, then reconnect.

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Community questions

Was this page useful?

Questions about this page? or post a community question.