AI Automation Expert

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

TYPE OF WORK

Full Time

SALARY

$1,275

HOURS PER WEEK

40

DATE UPDATED

Oct 2, 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 automation expert to help run it.

JOB DESCRIPTION
You design, build and maintain the automations behind our content, SEO and lead handling. The core is a
status-driven content pipeline that runs for several brands at once, from keyword research to an approved post
on WordPress. Next to that you build our lead and CRM flows in Bitrix24, including AI reply suggestions in
Dutch that get better from won/lost outcomes. Nothing goes live without human approval, and you build that in
from the start. Your work spans the whole BKG group, with our bathroom brand (Sanitairstudio) as the biggest
single focus.

MAJOR FUNCTIONS
Build and run our content pipeline in ---------- for several brands: keyword research, AI draft, SEO scoring
and revision, human approval, WordPress publishing and repurposing.
Keep it status-driven: a Google Sheets control sheet where each step reliably triggers the next.
Build the AI steps on the Claude API: system prompts that hold our brand voice, return structured JSON and
follow strict content rules. Example: customer reviews are quoted word for word and never invented.
Build lead and approval flows with Bitrix24 webhooks, such as approve/reject buttons that write back to the
automation, plus AI reply suggestions for our Dutch team.
Monitor, troubleshoot and document: error handling, usage costs, and handover material that non-technical
colleagues can use.

REQUIRED SKILLS
Proven hands-on experience building production workflows in ---------- : scenarios, routers, filters,
repeaters/loops, scheduling, error handling and keeping operations (credits) usage efficient.
Able to design status-driven, multi-stage pipelines where each step triggers the next reliably.
Strong working knowledge of REST APIs: HTTP requests, headers, authentication (API keys, OAuth 2.0,
application passwords), JSON parsing and mapping.
Experience setting up inbound and outbound webhooks, and with asynchronous API patterns: starting a job,
waiting, then fetching and handling results.

Hands-on experience calling the Anthropic Claude API (or a similar LLM API) directly, with strong prompt
engineering: consistent brand voice, reliable structured JSON, strict content rules.
Able to build iterative AI loops, such as draft → score → revise → re-score, with sensible stop conditions and
cost control.
Experience automating WordPress through its REST API (drafts, posts, categories, tags, application
passwords) and comfortable using Google Sheets as a control layer (structured data, data validation,
lookups).
Solid understanding of SEO fundamentals, so the automation improves rankings rather than just producing
more content.
Quality and security: you build in human-in-the-loop checkpoints, handle credentials and API keys securely,
resolve authentication, formatting and rate-limit issues on your own, and write clear documentation.
Fluent spoken and written English. You can explain technical concepts clearly to non-technical team
members.

TOOLS WE USE
Experience with these is a strong plus. We don’t expect you to know all of them; tell us which ones you have
worked with.
SEMrush: keyword research, Keyword Gap, Content Gap, and the API/MCP options on different plans.
NeuronWriter or similar SERP-based content optimization tools (Surfer, Clearscope), including their APIs and
content scoring.
Google Search Console: property verification, performance data (clicks, impressions, average position) and
pulling that data through the API.
Bitrix24: inbound and outbound webhooks and approval flows.
MCP (Model Context Protocol) for connecting AI tools to external data sources such as SEMrush.
Google reviews through review aggregators (Trustmary, EmbedSocial, Elfsight) and/or the Google Business
Profile API.

NICE TO HAVE
Experience running automations for multiple brands or websites at once.
Experience tracking and optimizing API and usage costs.
Basic scripting (JavaScript or Python) for edge cases that no-code tools can’t handle.
Experience with content repurposing workflows (blog to LinkedIn, Instagram and newsletter).
Experience with n8n.
Knowledge of Dutch or German.

AVAILABILITY
Full-time, 40 hours per week. You meet regularly with our Dutch colleagues during Amsterdam business hours
(CET/CEST), which is afternoon and evening in the Philippines. Flexible otherwise. A reliable, high-speed
internet connection is required.

EXPECTATIONS
You take ownership and work independently: you don’t wait to be told what to do next. If you spot a way to
improve a process, a tool or a result, you raise it with your manager. You build systems that produce Dutch
output you can’t read yourself, so approval steps and 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 “SCENARIO” so we know you have read the full post. Then answer these four
questions, 3 to 6 sentences each:
1. Describe one ---------- scenario you built that runs in production: what triggers it, the main modules and
routers, how errors are handled, and roughly how many operations (credits) it uses per run or per month.
2. Describe one automation where you called an LLM API (Claude or similar) directly. How did you get valid
JSON back every time, and how do you stop the model from making things up? For example: we quote
customer reviews word for word and never invent them.
3. We want a content pipeline where an article is drafted by AI, scored by an SEO tool, revised and re-scored,
and published to WordPress only after a human approves it. How would you structure this: which stages or
statuses, where the approval sits, and what stops the revise loop from running forever or burning budget?
4. Give one example of an integration that was asynchronous (start a job, wait, fetch the result) or that kept
failing (authentication, rate limits, formatting). What exactly did you do?
Also include:
Links to two automations you have built: one in ---------- and one using an AI/LLM API. Screenshots, a
blueprint export or a short screen recording are fine. Only share what already exists; please don’t build
anything for this.
Which of the tools under “Tools we use” you have worked with, and which hours (Philippine time) you are
available for meetings with our Dutch team.
We read every application that starts with the codeword and answers the questions specifically. Generic or
copy-paste replies aren’t considered.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0114
Total Execution Time  0.0128
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,529,872 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/AI-Automation-Expert-1742420
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0057 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1742420
 LIMIT 1 
0.0005   SELECT *
FROM `employers`
WHERE `employer_id` = 684044
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1742420
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-04',ej.date_added) duration_days, DATEDIFF('2026-10-04',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-04',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1742420' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742420 
0.0008   UPDATE employer_jobs SET hit_counts = '***Oct-02-2026=1453***Oct-03-2026=232***Oct-04-2026=4' WHERE job_id= '1742420'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=1686' WHERE job_id= '1742420'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1742420' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742420 
0.0006   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)