Data to AI™ / Gemini/Personio

Query Personio from Gemini CLI and Code Assist

Pull Personio attendance hours, exit history and org data into notebooks, CSVs and pre-deploy checks from the terminal, without exporting files or storing API keys in the repo.

Better answers, fewer tokens.

  • Lower AI costs for the same work
  • More accurate, reliable answers
  • Read-only
  • Uses the Personio data you already sync
  • SOC 2 Type II certified
Gemini CLI
Connected to Dataddo

Which departments took the most approved sick leave days in September?

Gemini Answer · Personio

Approved sick leave in September added up to 96 days. Customer Support took 41 of them, more than Engineering and Sales together.

Department NameDays Count
Customer Support Absences 41
Engineering Absences 23
Sales Absences 17

Days Count is summed over absences with an approved Status; Department Name comes from Employees, matched on Employee ID.

source
Personio · as of Mon 06:40 UTC
covers
Start Date 1-30 Sep 2026
Example answer · fictional account and figures
Personio in Gemini

Questions Gemini can answer from your Personio data

Personio is an HR platform for small and medium-sized businesses that covers personnel administration, time tracking and absence management. Dataddo extracts Employees, Absences and Attendances, so People teams can ask about headcount, time off and working hours in plain language.

Worked hours for the payroll check

Ask Gemini

From Attendances for last month, compute hours per Employee from Start Time and End Time minus Break, confirmed Status only, and write payroll/hours-2026-09.csv.

A payroll analyst runs Gemini CLI in the payroll repo and diffs the file against the provider's import before the run is approved.

Org data check before an HRIS sync deploy

Ask Gemini

List active Employees with an empty Department Name, Office Name or Cost Centers Name, and exit non-zero in the script you write if any exist.

A data engineer adds the check to the deploy steps of the directory sync, so incomplete Personio records are fixed before they spread to other systems.

Attrition notebook

Ask Gemini

Load Employees with a Termination Date in the last 24 months into a dataframe with Termination Type, Termination Reason and Department Name, and plot exits per quarter.

A people analyst works in VS Code with Gemini Code Assist in agent mode and keeps the attrition analysis as a versioned notebook instead of a one-off export.

Personio datasets and the questions they answer in Gemini →
Pricing

Priced per seat.

Data to AI™ is priced per seat, like the AI assistants your team already uses, with ~25% off on annual billing. Need tailored contracts or volume pricing? Talk to us about Enterprise.

Data to AITM

Serve governed business data to Claude, ChatGPT and other AI tools over MCP.

$10.49/month

per seat

3 seats minimum

Enterprise

Flexibly deploy Dataddo in any cloud or hybrid environment.

Custom

We have a payment model that works for you

See all plans and features →
Setup

Connect Personio to Gemini step by step

  1. 1
    Connect Gemini to Dataddo Add the Dataddo server to settings.json in Gemini CLI, restart it and run /mcp auth dataddo to sign in. Gemini Code Assist in VS Code reads the same file.
  2. 2
    Connect Personio to Dataddo Sign in with your Personio account in Dataddo and choose the datasets to sync, such as Employees and Absences.
  3. 3
    Choose what Gemini can see Select the Personio data Gemini may query. Access is read-only, and data you don't select stays out of reach.
Gemini setup guide →
With vs. without

Personio in Gemini, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Attendance hours Someone downloads attendance reports, cleans the time columns and recalculates breaks in a spreadsheet each month. Gemini reads Attendances with Start Time, End Time and Break and writes the totals to a file in your repo. Hours computed in code
Org data quality Gaps in department or cost center assignments are discovered after a sync has already pushed them downstream. A check written with Gemini CLI queries Employees before each deploy and fails when key org fields are empty. Gaps caught before deploy
Credentials in the repo Scripts call the Personio API with a client secret kept in an env file that ends up shared or committed. Gemini CLI signs in to Dataddo with OAuth and stores the tokens in ~/.gemini/mcp-oauth-tokens.json, outside the project. No secrets in the codebase
Exit history Leavers are pulled from Personio when someone asks, and every analysis starts from a different export. Employees carries Termination Date, Termination Type and Termination Reason, so the notebook queries the same fields every time. Repeatable attrition analysis
Token consumption Gemini spends tokens exploring raw Personio columns, sampling rows and retrying until it understands the data. Field definitions and relations are supplied up front, so the model skips the exploration and goes straight to the answer. Fewer tokens per answer
Answer quality Prone to wrong joins, invented fields and numbers that are hard to check. Answers grounded in defined fields. In the Dataddo benchmark, 78.5% of questions were answered correctly, against 65.5% with plain CSV files. Better answers
Datasets

Personio datasets and the questions they answer in Gemini

The Personio datasets HR and payroll teams use most, with their real field names. Gemini queries them by name through the Dataddo semantic layer.

Dataset Metrics and attributes Ask Gemini
Employees
  • Termination Type
  • Termination Reason
  • Status
  • Department Name
  • Office Name
  • + others
What were the most common Termination Reason values over the last 12 months, by Termination Type?
Absences
  • Time Off Category
  • Start Date
  • Time Off Name
  • Status
  • End Date
  • + others
Which Time Off Category accounts for the most absence days this year, based on Start Date?
Attendances Which days had attendance periods with a Start Time before 7:00 or an End Time after 20:00?
See all Personio datasets, metrics and attributes on the connector page →
Benchmark

More right answers. Half the confident mistakes.

We asked 43 pre-registered questions of three real datasets - Google Search Console, HubSpot deals and Google Ads - and delivered the same rows to the same model in four ways. Only the data layer changed.

78.5%

of questions answered correctly - the best of the four delivery methods tested

2x

fewer confidently wrong answers - 14.0% of runs against 24.0% and 26.3%

2.8x

more correct answers on messy CRM data - better on 8 questions, worse on none

Answered correctly All 43 questions - higher is better
Wrong, but stated as fact Share of runs - lower is better

Same model, prompts and rows in every condition; 759 graded runs, ground truth frozen before any run. On Google Search Console alone, documented CSV files did as well as Data to AI™ - the advantage comes from messier data such as HubSpot deals.

Read the benchmark →
FAQ

Personio and Gemini: FAQ

How do I connect Personio to Gemini?

Create a Personio source in Dataddo with your client ID and secret, extract Attendances or Employees, and attach it to a Google Gemini destination or AI Model. Add dataddo with httpUrl https://headless.dataddo.com/mcp-data to ~/.gemini/settings.json, restart Gemini CLI and run /mcp auth dataddo to sign in.

How do I add Dataddo to Gemini CLI?

Add dataddo under mcpServers in ~/.gemini/settings.json, or .gemini/settings.json for one project, with the httpUrl key and no headers or oauth block. Restart Gemini CLI, run /mcp auth dataddo and check /mcp.

Does Gemini Code Assist work too?

Yes. Agent mode in VS Code reads the same settings.json as Gemini CLI. In IntelliJ, add the Dataddo server to the mcp.json of Gemini Code Assist instead.

Will Gemini run Personio queries without asking?

Not by default. Gemini CLI asks you to confirm each Dataddo tool call, and you can choose Always allow for individual tools once you trust them.

Which Personio data can Gemini reach after sign-in?

Every flow or Context attached to an AI destination or AI Model in that Dataddo account, not only the Gemini ones. Leave salary and personal columns out of the Personio source if they should not be queried.

Why are older attendance periods missing?

Attendances and Absences read a sliding date window that each run replaces. Run a full data re-sync with a wider range once to load the months your analysis needs.

Can Gemini edit employee data in Personio?

No. Gemini queries extracted data through the semantic layer by entity and field name. Dataddo never accepts SQL from the model, and nothing is written back to Personio.

New from Dataddo · Data to AI™

Ask Claude or ChatGPT about your ads, analytics and CRM

“What did a new lead cost us last week, by paid channel?”

Connect 400+ sources once and get the answer right in your AI chat, without building a report. Better answers: your metrics are defined once, so the AI doesn't have to guess.