Data to AI™ / Gemini/AFAS

Query AFAS from Gemini CLI and Code Assist

Data engineers loading AFAS in batches check from the terminal that every Skip range arrived once, then hand clean extracts to the finance analysts.

Better answers, fewer tokens.

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

Which article groups had the most articles modified last week, and what is their average sales price?

Gemini Answer · AFAS

ArtGroup 100 changed most, with 86 articles by ModifiedDate and an average SalesPrice of €42.10. All three groups shown were edited during last week's price update.

ArtGroupArticles by ModifiedDateAverage SalesPrice
100 Profit_Article 86€42.10
200 Profit_Article 54€118.40
300 Profit_Article 21€9.75

AFAS has no date range, so each run pulls current articles up to the Limit; the week is counted on ModifiedDate, and Blocked articles are left out of the average.

source
AFAS · as of Mon 06:40 UTC
covers
ModifiedDate 21-27 Sep 2026
Example answer · fictional account and figures
AFAS in Gemini

Questions Gemini can answer from your AFAS data

AFAS Profit is Dutch business software for finance, HR, payroll and CRM. Dataddo extracts whichever GetConnector you have set up in AFAS, with the fields you pick, custom fields included. The supplied GetConnectors shown here, such as Profit_Article and Profit_Employee_Leaves, are examples from the AFAS documentation.

Verify a historical batch load

Ask Gemini

Using the dataddo server, count AFAS rows per source in the union flow and check that the Skip ranges 0, 50,000 and 100,000 each returned a full batch.

After loading a large GetConnector in batches, a data engineer confirms from the terminal that no range was skipped before switching to daily increments.

Duplicate check before a deploy

Ask Gemini

Find dataddo_hash values that occur more than once in the AFAS flow, and fail with a short summary if there are any.

The check runs in Gemini CLI before the reporting pipeline is deployed, so duplicated batches never reach the finance dashboards.

Daily extract for the analysts

Ask Gemini

Query Profit_Article for articles with a ModifiedDate of yesterday and write them to data/afas/articles-changed.csv with ItemCode, Description and SalesPrice.

An analytics engineer working in Gemini Code Assist adds the file to the repo, where the analysts' notebook picks it up the next morning.

AFAS 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 AFAS 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 AFAS to Dataddo Sign in with your AFAS account in Dataddo and choose the datasets to sync, such as Profit_Article (example GetConnector) and Profit_Employee_Leaves (example GetConnector).
  3. 3
    Choose what Gemini can see Select the AFAS data Gemini may query. Access is read-only, and data you don't select stays out of reach.
Gemini setup guide →
With vs. without

AFAS in Gemini, with and without Dataddo

Without Dataddo With Dataddo Outcome for you
Checking batch completeness The engineer exports each batch, counts rows in a spreadsheet and hopes no Skip value was mistyped. Gemini CLI queries the flow directly and compares row counts against the Limit and Skip you used for each source. Gaps found before go-live
Duplicates from overlapping batches Overlapping Skip ranges double some records, and nobody notices until the totals look wrong. dataddo_hash works as a natural key, so Gemini lists repeated hashes, and upsert in the warehouse prevents them in the first place. Totals you can rely on
Working where the code lives Every check means leaving the editor, opening AFAS, exporting and copying the result back. Gemini CLI and Gemini Code Assist call Dataddo from the terminal or VS Code, with each tool call confirmed by you. Checks stay in the repo
Token consumption Gemini spends tokens exploring raw AFAS 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

AFAS datasets and the questions they answer in Gemini

The AFAS datasets finance and RevOps teams use most, with their real field names. Gemini queries them by name through the Dataddo semantic layer.

Dataset Metrics and attributes Ask Gemini
Profit_Article (example GetConnector)
  • ItemCode
  • Description
  • ModifiedDate
  • Blocked
  • ArtGroup
  • + others
Which ItemCode values share the same Description, hinting at duplicate articles?
Profit_Employee_Leaves (example GetConnector) How does the number of leave records per Year compare over the last three years?
ProfitGetConnectoren (example GetConnector) Which GetConnector Omschrijving mentions debtors or invoices?
Date and key fields Are there gaps in the ID sequence of the records we loaded in historical batches?
See all AFAS 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

AFAS and Gemini: FAQ

How do I connect AFAS to Gemini?

Create an AFAS source in Dataddo and attach it to a Google Gemini destination or AI Model. Add Dataddo to ~/.gemini/settings.json under mcpServers with httpUrl https://headless.dataddo.com/mcp-data, restart Gemini CLI and run /mcp auth dataddo to sign in. Gemini Code Assist in VS Code reads the same file.

Do I have to use the GetConnectors named here?

No. Dataddo extracts whichever GetConnector you have set up in AFAS, and Profit_Article and the other names on this page are examples. Gemini queries the flow of your GetConnector like any other entity.

How do I add Dataddo to Gemini CLI?

Add a dataddo entry under mcpServers in settings.json with the httpUrl key, not url, and no headers or oauth block. Restart Gemini CLI, run /mcp auth dataddo, sign in and check /mcp.

Does it work in Gemini Code Assist?

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

Which AFAS flows can Gemini reach?

Every flow or Context attached to an AI destination or AI Model in your Dataddo account, not only the Google Gemini ones. Attach only the AFAS flows you want Gemini to query.

Will Gemini run queries without asking?

No. Gemini CLI asks you to confirm each Dataddo tool call, and you can choose Always allow for individual tools you trust, such as a read-only lookup.

Can Gemini edit records in AFAS?

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

What if my Gemini session expires?

Credentials live in ~/.gemini/mcp-oauth-tokens.json and are renewed automatically. If the session expires or is revoked, run /mcp auth dataddo again and sign in.

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.