Getting started with Flex HRM x Oneflow

Dineth Kurukularatchi
Dineth Kurukularatchi
  • Updated

Overview

The Flex HRM × Oneflow integration connects your HR system with Oneflow to streamline employment workflows. It automatically fetches employee details from Flex HRM into Oneflow contracts and updates employee records when contracts are signed.

Additionally, it uploads both pending and signed contract PDFs directly to the employee's Flex HRM profile, keeping your documentation in sync at every stage.

Before you begin

PREREQUISITES

Ensure you have:

  • Administrative access to both Oneflow and Flex HRM.
  • A Flex HRM account with API access (production or test environment). You must create a dedicated API user in Flex HRM (see Create a Flex HRM API user) with permissions to view and update employees, employment periods, salaries, and employment documents. The account must also have access to all companies whose employees will be managed through this integration.
  • The integration requires a dedicated API user in Flex HRM with specific roles. If you have not set one up yet, see Create a Flex HRM API user before proceeding with setup.
  • Your Flex HRM customer number (visible in the bottom-right corner of the Flex HRM interface, next to "Customer").

  • Flex HRM credentials: username and password with appropriate permissions.
  • A document category in Flex HRM with a name starting with "Oneflow" (for example, "Oneflow Documents") that has "Used in Employment Register" enabled.

Supported workflows

  • Fetch Employee Data: Automatically fetch employee details from Flex HRM into Oneflow Documents when you enter an employee number.
  • Update on Sign: Update employee profiles and employment periods in Flex HRM with Oneflow document data upon signing.
  • Archive Signed Oneflow document: Upload signed and published Oneflow document to employee profiles in Flex HRM.
  • Manager Assignment: Add the employee's immediate manager as an owner-side colleague in Oneflow.
  • Dynamic Naming: Update the Oneflow document name automatically using employee and template names.

Create a Flex HRM API user

The integration authenticates with Flex HRM using a dedicated API user account. You must create this user in Flex HRM and have its credentials ready before you can complete the Oneflow setup. The credentials are required in Step 2: Prepare your Flex HRM credentials.

Required roles and permissions

The API user must have the following permissions in Flex HRM:

  • View and update employees
  • View and update employment periods
  • View and update employment documents
  • Access to all companies whose employees will be managed through this integration

Request an API user from Flex HRM

NOTE

Flex HRM does not currently provide a self-serve guide for creating an API user. Contact the Flex HRM Customer Delivery team to have the user created with the correct roles and permissions.

You can reach the Customer Delivery team through:

  • Service portal: flexhrm.com/support, weekdays 8:00 AM to 4:00 PM
  • Phone: +46 19 10 39 15, weekdays 8:00 AM to 12:00 PM

When you contact them, specify that you need:

IMPORTANT

Once the API user is created, save the following. You will need them in Step 2:

  • Flex HRM customer number
  • API user username
  • API user password

Setup

Step 1: Enable the Flex HRM integration in Oneflow

  1. Log in to Oneflow as an administrator.
  2. Navigate to Marketplace > Flex HRM > Enable.

  3. Click the Setup button. A green tick will appear confirming that the connection was successful.

Step 2: Prepare your Flex HRM credentials

You must encode your Flex HRM credentials in Base64 format before sending them to Oneflow Support.

You will need to provide:

  • Customer number
  • Base64-encoded authentication string

Construct the credential string

Combine your Flex HRM details in the following format with no spaces:

customer_number:username:password

Example:

6163:Oneflow:pass@1234#
  • Customer number: The number shown in the bottom-right corner of Flex HRM (next to "Customer")
  • Username: Your Flex HRM account username
  • Password: Your Flex HRM account password

Encode the string to Base64

  1. Open a Base64 encoding tool (for example, Filator or your terminal).

INFORMATION

Video Tutorial: View the encoding steps

  1. Paste your credential string into the input field.

  2. Click Encode to Base64.
  3. Copy the encoded result.

NOTE

The encoded value will look similar to this: NjE2MzpPbmVGbG93OnBhc3NAMTIzNCM=

Step 3: Contact Oneflow Support to complete setup

Once you have prepared your credentials:

  1. Contact Oneflow Support with the following information:
    • Your Flex HRM customer number (for example, 6163)
    • The Base64-encoded credentials string you created in Step 2
    • Whether you are connecting to a production or sandbox/test environment
  2. Oneflow Support will configure the integration on your behalf.
  3. After configuration is complete, the integration will create a Flex HRM template group in your Oneflow account with 15 default data fields for employee and employment information.

Step 4: Create a Flex HRM template in Oneflow

  1. In Oneflow, go to Templates > Create template.
  2. Open the template editor and click the Data fields icon in the sidebar.
  3. From the Template groups dropdown, select Flex HRM Template.

  4. Add data fields to your template:
    • Click the pen icon on a form field > Data field.
    • Select a Flex HRM data field (for example, Employee number, First name, Email work).
    • Click Save.

IMPORTANT

The Employee number data field is required to fetch employee details from Flex HRM.

  1. For text sections, highlight the text and click the Insert data field icon in the editor, then select the appropriate field and click Confirm.
  1. Click Save, then click Publish to activate the template.

How it works

Triggers and actions

The integration responds to four contract events:

Oneflow event What happens
Create contract and enter an employee number in the corresponding data field. Automatically fetches employee details from Flex HRM and populates contract data fields; adds the employee as counterparty participant; and adds the employee's immediate manager as owner-side colleague (if manager assigned).
Update employee number in draft Fetches new employee details; updates contract fields; updates participant if changed.
Publish contract Uploads the draft contract PDF to the Documents section of the employee's Flex HRM profile with status "Pending".
Sign contract (all parties) Updates the employee profile in Flex HRM with contract data and uploads the signed contract PDF to the Documents section of the employee's Flex HRM profile with status "Signed".

Verify the setup

Test the fetch flow

  1. Create a contract from your Flex HRM template.
  2. In the contract, enter a valid Flex HRM employee number into the Employee number field.
  3. Save the contract and wait a few seconds.

NOTE

The browser should refresh or update momentarily.

  1. Refresh the contract page.

Expected result: The contract's data fields are automatically populated with employee information from Flex HRM (name, address, email, position, employment dates, and manager).

Test the publish and sign flows

Test PDF upload on publish (pending contract)

  1. Complete any required fields in the contract.
  2. Click Send for signing to move the contract from draft to pending status.

Expected result:

  • A pending version of the contract PDF is uploaded to the employee's Flex HRM profile under the Oneflow Document category.
  • The document name in Flex HRM follows the format: [Contract Name] - Pending.pdf or [Employee Name] - [Template Name] - Pending.pdf if the contract has no name.
  • The employee profile data is not updated at this stage (updates only occur after signing).

Test employee update and final PDF upload on signing

  1. Have all required parties sign the contract.
  2. Wait for the contract to reach Signed status.

Expected result:

  • The employee profile in Flex HRM is updated with data from the signed contract (for any mapped fields that were changed).
  • The document name in Flex HRM follows the format: [Contract Name] - Signed.pdf or [Employee Name] - [Template Name] - Signed.pdf if the contract has no name.

NOTE

The integration uploads both Pending and Signed versions to track the contract's progression through the signing workflow. The status label in the document name helps you quickly identify which version you're viewing in Flex HRM.

  • Employment period records are created or updated based on the start/end dates and position fields.
  • The signed PDF replaces or supplements the pending PDF in the employee's Flex HRM profile under the Oneflow document category.

Data field mapping

The integration maps Flex HRM fields to Oneflow data fields as follows:

Oneflow data field Flex HRM field Type Object
Employee number Employment.EmploymentNumber string Employee
First name FirstName string Employee
Surname LastName string Employee
National ID number NationalIdentificationNumber string Employee
C/O address AddressRow1 string Employee
Street address AddressRow2 string Employee
Postal code PostalCode string Employee
City City string Employee
Country Country string Employee
Email work EmailWork string Employee
Mobile phone private Phone4 string Employee
Immediate manager ImmediateManagerEmployeeId (Name) string Employee
Position TitleId (Name) string Employment
Start of employment FromDate date Employment
End of employment ToDate date Employment

NOTES

  • Employee number is the unique identifier used to fetch employee records.
  • Position is fetched as a human-readable title name, not an ID.
  • Immediate manager displays the manager's full name.
  • Date fields use ISO 8601 format (YYYY-MM-DD).

Participant and colleague handling

Employee as participant:

When employee details are fetched, the integration checks the contract's delivery channel and two-factor authentication (2FA) settings:

  • If Email delivery is preferred and the employee has a work email, the employee is added as a counterparty participant.
  • If SMS delivery is preferred and the employee has a mobile number, the employee is added.
  • If Email and SMS is preferred and the employee has both, the employee is added.
  • If delivery channel is None or Same device, the employee is not automatically added.

Manager as colleague:

If the employee has an immediate manager in Flex HRM and the manager has an active Oneflow account with the same email address, the manager is added as a colleague (non-signatory) on the owner side.

Troubleshooting

Integration fails to connect

  • Cause: Incorrect Base64 encoding or invalid credentials.
  • Fix: Double-check your username, password, and customer number. Re-create the Base64 string ensuring no extra spaces are included before encoding.

"Overlapping dates" error

  • Symptom: You might see a warning in logs, or data might update partially.
  • Cause: Flex HRM prevents creating employment periods that overlap with existing ones.
  • System Behavior: The integration is designed to catch this error, ignore the specific overlap conflict, and proceed with other updates (like document upload) so the workflow is not blocked.

Document not uploading

  • Cause: File name too long.
  • Constraint: Flex HRM has a limit of 200 characters for document names. The integration will attempt to handle this, but ensure your contract names are concise.

Manager not added to contract

  • Cause: The manager's profile in Flex HRM lacks a valid email address.
  • Fix: Add a valid email to the manager's profile in Flex HRM.

Sync fails on sign

  • Cause: The manager is already a party in the contract before the automated sync attempts to add them.
  • Fix: Remove the manager manually before signing or ensure they are only added via the automated flow.

Was this article helpful?

0 out of 0 found this helpful

Have more questions? Submit a request