Connect AFAS to ChatGPT
An AI assistant that answers questions from AFAS saves HR and finance a lot of looking things up. But AFAS also holds salaries, BSN numbers (Dutch citizen service numbers) and sickness absence. It can be done safely, if you decide upfront what the assistant may see, what it may do and where the data goes.
- Answers to HR questions goes to ChatGPT
- Financial overviews goes to ChatGPT
- Draft note or task comes from ChatGPT
Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman
The questions are often simple: who manages this team, how many people start next month, which invoices from this customer are outstanding. Right now someone in HR or finance looks it up, or builds a report for it. With an integration, ChatGPT looks it up in AFAS and answers straight away, in plain language.
The risk lies in what comes along with it. Give ChatGPT a token with broad permissions and everyone who uses the assistant gets access to everything that token can see. And whatever the assistant fetches goes to OpenAI. So an AFAS–ChatGPT integration doesn't start with the AI, but with the permissions in AFAS.
For each item: which direction it goes, when, and why. This is the starting point; in the first conversation we fit it to your situation.
- 01Answers to HR questionsAFAS Profit → ChatGPTwhen someone asks a question
Name, job title, department, manager and start or end date, through a GetConnector that contains only those fields. Salary, BSN, date of birth and sickness absence aren't in it, so the assistant can't fetch them either.
- 02Financial overviewsAFAS Profit → ChatGPTat the request of finance
Outstanding items per customer account, revenue per month or per cost centre. Put these in a separate app connector with its own GetConnectors, so only finance can ask these questions.
- 03Draft note or taskChatGPT → AFAS Profitonly after the user confirms
If the assistant may record something, let it create a dossier item or workflow task that a colleague still reviews. By default, ChatGPT asks for confirmation before a write action is carried out.
Not always. If an existing integration for AFAS Profit and ChatGPT does exactly what you need, we'll tell you.
There are ready-made MCP servers for AFAS from third parties. They use the same API and the same token as any other integration. Such a server is enough if it runs in your own environment, is read-only by default and you decide which GetConnectors it may use. Also check where it runs: a server hosted by a third party sees everything that passes between AFAS and ChatGPT.
In ChatGPT, you add such a server in developer mode, through Plugins in the web version. Developer mode is available for Plus, Pro, Business, Enterprise and Edu. ChatGPT supports MCP servers over SSE and streaming HTTP, with OAuth or without authentication; the latter is not an option for AFAS data. Whether developer mode is available also depends on your workspace policy, and in Business and Enterprise, admins decide which apps employees may use.
- Not everyone may see the same things: a team leader only their own team, finance only financial data.
- You want to record per call who requested what, for your own accountability under the GDPR.
- The assistant needs to combine AFAS with data from other systems, such as the CRM or the service desk.
AI reads, sorts and prepares a suggestion. Where it matters, a person decides.
What the assistant does well
Looking things up and summarising: who works where, who starts when, which invoices are outstanding, how this month compares with the last. The answer comes from AFAS at the moment you ask, not from last week's export.
What it shouldn't do
Process payroll changes, contract changes and departures, calculate pay or make decisions about people. A model can misunderstand a question or give a wrong answer. For matters like these, a person has the final say and the responsibility.
Where the data goes
What the MCP server returns goes to OpenAI and becomes part of the conversation. By default, OpenAI doesn't train on data from ChatGPT Business and Enterprise. Even so, only pass on what's needed: the middleware decides which fields enter the conversation and logs every call with user, requested data and time.
One token, one set of permissions
An AFAS token belongs to one app connector and one user. Everyone who uses the integration through ChatGPT therefore sees what that token sees. If you want different permissions per employee, you need middleware that knows through OAuth who is asking and filters per person.
Remove sensitive fields, don't just ask nicely
Don't rely on an instruction to the AI to stop it mentioning salaries. Remove salary, BSN and sickness absence from the GetConnector. What isn't fetched can't leak.
Prompt injection
Text from AFAS, such as a description or a dossier item, can contain instructions the model tries to follow. OpenAI itself warns that an attacker can use this to try to extract data from an MCP server. Keep the integration read-only, or have a person confirm every write action.
GDPR and agreements
You're processing employees' personal data with an external service. Record the legal basis and purpose, sign a data processing agreement and consider a DPIA. Tell employees that their data is used this way.
What goes where
Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Answers to HR questions, Financial overviews, Draft note or task.
Fields and rules
For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: One token, one set of permissions, Remove sensitive fields, don't just ask nicely, Prompt injection, GDPR and agreements.
Testing with real cases
In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.
Live, with logging and monitoring
Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.
- Office on the Duivendrechtsekade in Amsterdam
- ISO 9001 and ISO 27001, certified by Kiwa
- 500 projects delivered
- 4.8 from 127 reviews
Can ChatGPT access AFAS directly?
Not by itself. You need middleware that calls the AFAS API, usually an MCP server, which you add in ChatGPT in developer mode. That server uses a token with only the GetConnectors the assistant needs.
What is an MCP server?
MCP stands for Model Context Protocol, an open standard that lets an AI assistant use tools and data from other systems. An MCP server for AFAS translates a question from ChatGPT into a GetConnector call and returns only the result. What the server doesn't offer, the assistant can't do.
Does OpenAI use my AFAS data for training?
For ChatGPT Business and Enterprise, OpenAI doesn't train on your data by default. The data the assistant fetches does go to OpenAI to produce the answer. So limit in AFAS which fields the integration can fetch.
Can ChatGPT change data in AFAS?
Technically yes, if you give the MCP server UpdateConnectors. By default, ChatGPT asks for confirmation before a write action. For HR and payroll data we advise against it: at most, let the assistant prepare a task or dossier item for a colleague to review.
Which ChatGPT plan do I need?
Developer mode, which lets you add your own MCP server, is available for Plus, Pro, Business, Enterprise and Edu, in the web version. For business data, Business or Enterprise is the obvious choice, because an admin then decides who may use which apps.
Related services
- Connect AFAS to HubSpotConnect AFAS to HubSpot: a won deal becomes a customer account and order in AFAS, and sales sees in HubSpot which invoices are still outstanding.
- Connect AFAS to SalesforceConnect AFAS to Salesforce: accounts, opportunities and invoices flow both ways, within the API limits and with AFAS as the financial source of truth.
- Connect AFAS to TOPdeskConnect AFAS to TOPdesk: employees, departments and branches flow from AFAS into the service desk, and a new starter or leaver triggers a request.
- Connect AFAS to Microsoft 365Connect AFAS to Microsoft 365: a new employee in AFAS gets an account and groups in Entra ID, and the account is blocked when they leave the organisation.
- Connect Exact Online to ChatGPTConnect Exact Online to ChatGPT: safe, read-only access to your books through your own MCP server, what ChatGPT can then do, and what the GDPR requires.
- Connect ChatGPT to HubSpotConnect ChatGPT to HubSpot with HubSpot's own app: check deal status, prepare for calls and create tasks. What the integration can and can't do.
Sources
The technical facts on this page come from the vendors' official documentation, checked on 19 September 2026. Vendors change their APIs and limits; when we build an integration, we always check the current state.
- OpenAI Developers: ChatGPT Developer mode
- OpenAI Developers: Building MCP servers
- OpenAI Help Center: Developer mode and MCP apps in ChatGPT
- OpenAI: Enterprise privacy
- AFAS Help Center: Generating a token (in Dutch)
- AFAS Help Center: Adding a GetConnector (in Dutch)
- AFAS Help Center: REST API for developers (in Dutch)


