Skip to main content

Data Source

Follow the instructions below to create a new data flow that ingests data from a Personio source in Nexla.
personio_api.png

Personio

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Personio connector tile from the list of available connectors. Then, select the credential that will be used to connect to your Personio account, and click Next; or, create a new Personio credential for use in this flow.

  3. In Nexla, Personio data sources can be created using pre-built endpoint templates, which expedite source setup for common Personio endpoints. Each template is designed specifically for the corresponding Personio endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Personio sources can also be configured manually, allowing you to ingest data from Personio endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Personio endpoints. Each template is designed specifically for the corresponding Personio endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    Get Personnel Data

    This endpoint template returns personnel data for the company from your Personio account. Use this template when you need to retrieve employee information, attendance data, or document categories from your Personio account.

    • Select the personnel data type from the Personnel Data Type pulldown menu. Available options include employees (fetches a list of employees in the company), attendances (fetches attendance data for the company employees), and document-categories (fetches a list of document categories). The data type determines which personnel data will be retrieved.

    This endpoint returns personnel data for your company from your Personio account, including employees, attendance data, or document categories. The endpoint uses offset-based pagination to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the offset. The endpoint returns up to 10 records per page by default.

    For detailed information about personnel data management, API response structures, pagination, and available data types, see the Personio API documentation.

    Get Personnel Absence Data

    This endpoint template fetches a list of absence periods for employees tracked in days or hours from your Personio account. Use this template when you need to retrieve absence data, time-off information, or absence periods for your employees.

    • Select the absence type from the Absence Type pulldown menu. Available options include hours (fetches absence periods for absences tracked in hours) and days (fetches absence periods for absences tracked in days). The absence type determines which type of absence data will be retrieved.
    • Enter the start date in the Start Date field. This should be the start date for the date range for which you want to retrieve absence data. The start date determines the beginning of the date range for absence data retrieval.
    • Enter the end date in the End Date field. This should be the end date for the date range for which you want to retrieve absence data. The end date determines the end of the date range for absence data retrieval.
    • Enter the employee IDs in the Employee Ids field. This should be a comma-separated list of employee IDs for which you want to retrieve absence data. The employee IDs determine which employees' absence data will be retrieved. Leave this field empty to retrieve absence data for all employees.

    This endpoint fetches a list of absence periods for employees from your Personio account, including absence periods tracked in days or hours. The endpoint uses offset-based pagination to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the offset. The endpoint returns up to 10 records per page by default.

    For detailed information about absence data management, API response structures, pagination, and available absence types, see the Personio API documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Personio data sources can be manually configured to ingest data from any valid Personio API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Personio sources, such as sources that use chained API calls to fetch related data or sources that require custom query parameters or filters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Personio API from the Method pulldown menu. Personio API typically uses GET method for retrieving data from endpoints.

API Endpoint URL

  1. Enter the URL of the Personio API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL to your Personio endpoint (e.g., https://api.personio.de/v1/company/employees, https://api.personio.de/v1/company/absence-periods). Include any required query parameters in the URL.

Ensure the API endpoint URL is correct and accessible with your current credentials. The Personio API uses offset-based pagination with offset and limit for most endpoints. The endpoint URL should include the API version (/v1/) and the resource type path. You can test the endpoint using the Test button after configuring the URL.

Response Data Path

  1. Enter the JSONPath expression in the Response Data Path field to specify which part of the API response should be treated as the relevant data by Nexla. For Personio API responses, use $.data[*] to extract all items from the data array, or $ to extract the entire response for single record endpoints, depending on your endpoint.

The JSONPath expression must correctly reference the structure of your Personio API response. Personio API responses may have different structures depending on the endpoint. Ensure your JSONPath expression matches the structure returned by your specific endpoint. The JSONPath expression determines which data will be extracted and processed by Nexla.

Pagination (if applicable)

  1. If your endpoint supports pagination, configure the pagination settings in the Pagination section. Personio API uses offset-based pagination with offset and limit for most endpoints. Select the pagination type that matches your endpoint's pagination mechanism.

  2. Configure the pagination parameters based on your selected pagination type. For offset-based pagination, specify the offset parameter name (offset), the starting offset value (0), and the page size parameter name (limit).

Save the Data Source

  1. Once all of the relevant steps in the above sections have been completed, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use.