Senior AI Automation Engineer (n8n · Claude · Agents)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

€1275,-/month

HOURS PER WEEK

40

DATE UPDATED

Aug 7, 2026

JOB OVERVIEW

Company Overview. BKG is a home-renovation group in the Netherlands. Our brands include Sanitairstudio (bathrooms) and Tegelstudio (tiles), alongside 25+ other home-improvement brands in the wider BKG group. We are building an AI-first operation and want a hands-on engineer to help run it.

Job Description. You design and build the automations and AI agents behind our lead handling, content and CRM flows — including an “AI learning loop” that improves our Dutch reply suggestions based on won/lost outcomes. You own your builds end-to-end and don’t wait to be told every step. Your work spans the whole BKG group, with our bathroom brand (Sanitairstudio) as the single biggest focus.

Major Functions.
• Build and maintain automations in n8n (lead intake, routing, content and CRM tasks).
• Build AI agents on the Claude API (prompt design, retrieval, MCP, webhooks, light JavaScript).
• Build and improve an AI learning loop that raises Dutch reply quality from real won/lost outcomes.
• Integrate with our CRM (Bitrix24) and WordPress data; keep flows reliable and documented.

Required Skills.
• 2+ years building production automations/integrations.
• Hands-on with an LLM API (Claude/OpenAI) including prompt design and retrieval.
• n8n or a similar tool; comfortable with APIs, webhooks and JSON.
• Reliable written English.
• Nice-to-have: agents/MCP, Bitrix24, vector search, exposure to the Dutch market.

Availability. ~40 hrs/week, with a few hours of daily overlap with European mornings. Flexible otherwise.

Expectations. You take ownership: you ship working flows, build in error handling, and flag risks early. You understand you’ll be writing systems that produce Dutch output you can’t read yourself — so quality safeguards matter to you.

Working Conditions / Salary. $1,275/month, with room to grow for the right person. Long-term, stable role.

Bonuses. Paid Time Off after 1.5 months · salary reviews every 2–3 months · professional-development budget · second monitor after 6 months · new laptop after 2 years.

How to Apply. Start your message with the word “FLOW” so we know you read the full post. Then, briefly:
1. Describe one automation or agent you built end-to-end: the trigger, the tools, what it replaced or improved, and the result (numbers if you have them).
2. We use Claude to draft Dutch reply suggestions to leads, and you don’t speak Dutch. Name two concrete things you’d build into the flow so the Dutch output stays high-quality and safe to send.
3. A lead webhook sometimes arrives with missing fields (no email, empty message). In 2–3 sentences: how does your flow handle that so it never breaks or sends a bad reply?
4. (Optional) A link to something you’ve already built (repo / Loom / screenshot). Only what exists — don’t build anything for this.

We read every application that starts with the codeword and answers the questions specifically. Generic or copy-paste replies aren’t considered.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0305
Total Execution Time  0.0318
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,511,632 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Senior-AI-Automation-Engineer-n8n-Claude-Agents-1704757
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0222 seconds)  (Hide)
0.0006   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1704757
 LIMIT 1 
0.0008   SELECT *
FROM `employers`
WHERE `employer_id` = 684044
 LIMIT 1 
0.0015   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1704757
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-10',ej.date_added) duration_daysDATEDIFF('2026-08-10',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-10',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1704757' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1704757 
0.0009   UPDATE employer_jobs SET hit_counts '***Aug-07-2026=429***Aug-08-2026=154***Aug-10-2026=1' WHERE job_id'1704757'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Aug-2026=584' WHERE job_id'1704757'  
0.0011   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1704757' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1704757 
0.0144   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '684044'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)