AI Automation Engineer (Claude Code, n8n, LLM Workflows) — Full-Time Contract

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

TYPE OF WORK

Full Time

WAGE / SALARY

$10 - $15/hr USD depending on experience

HOURS PER WEEK

40

DATE UPDATED

Apr 23, 2026

JOB OVERVIEW

Varay Managed IT ( ---------- ) is a Texas-based managed IT services company looking for a senior AI Automation Engineer to join our team full-time. You'll build and maintain AI agents, automations, and internal tools that power our business.

What you'll do:

Build AI agents and automations using Claude API, Claude Code, and OpenAI Codex
Design and deploy workflows in n8n, ---------- , and Zapier
Integrate AI into business systems via APIs and webhooks
Write Python/JavaScript to glue systems together and extend no-code platforms
Set up MCP (Model Context Protocol) servers and tool integrations
Prompt engineering, evals, and iterating on agent performance
Document everything clearly (we use Halo and Hudu)

Must-have experience:

3+ years building automations professionally (n8n, Make, or Zapier at an advanced level)
Hands-on experience with Claude API and/or Claude Code
Comfortable writing Python and/or JavaScript/TypeScript
REST APIs, webhooks, JSON, OAuth — second nature
Git/GitHub workflow
Strong written English — you'll be documenting and communicating async

Nice to have:

Experience with Codex, Cursor, or similar AI coding tools
MCP server development
Vector databases / RAG pipelines
Prior work with MSP or IT services tools (HaloPSA, HubSpot, NinjaRMM)
Self-hosted n8n on Docker/VPS

Details:

Full-time contract, 40 hrs/week, long-term
Paid Philippine regular holidays and special non-working holidays per DOLE guidelines
Overlap with US Central Time required: minimum 9am-1pm CT (roughly 10pm-2am PH time)

To apply, please include:

A short video (2-3 min) walking through an automation or AI agent you've built
Links to GitHub, portfolio, or case studies
Answer: What's the most complex Claude or LLM workflow you've built end-to-end?
Your DISC profile if you have one

Applications without #1 and #3 will not be reviewed.

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.0490
Total Execution Time  0.0505
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,514,600 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/AI-Automation-Engineer-Claude-Code-n8n-LLM-Workflows-Full-Time-Contract-1630401
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0435 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1630401
 LIMIT 1 
0.0015   SELECT *
FROM `employers`
WHERE `employer_id` = 464966
 LIMIT 1 
0.0336   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1630401
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-19',ej.date_added) duration_daysDATEDIFF('2026-06-19',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-06-19',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1630401' 
0.0008   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1630401 
0.0008   UPDATE employer_jobs SET hit_counts '***Apr-23-2026=542***Apr-24-2026=97***Apr-25-2026=40***Apr-26-2026=34***Apr-27-2026=31***Apr-28-2026=28***Apr-29-2026=37***Apr-30-2026=23***May-01-2026=17***May-02-2026=12***May-03-2026=10***May-04-2026=10***May-05-2026=23***May-06-2026=8***May-07-2026=13***May-08-2026=4***May-09-2026=8***May-10-2026=6***May-11-2026=10***May-12-2026=7***May-13-2026=7***May-14-2026=8***May-15-2026=10***May-16-2026=4***May-17-2026=5***May-18-2026=12***May-19-2026=19***May-20-2026=15***May-21-2026=8***May-22-2026=2***May-23-2026=7***May-24-2026=1***May-25-2026=10***May-26-2026=7***May-27-2026=3***May-28-2026=8***May-29-2026=1***May-30-2026=5***May-31-2026=6***Jun-01-2026=13***Jun-02-2026=12***Jun-03-2026=8***Jun-04-2026=5***Jun-05-2026=6***Jun-06-2026=2***Jun-07-2026=3***Jun-08-2026=8***Jun-09-2026=8***Jun-10-2026=9***Jun-11-2026=5***Jun-12-2026=5***Jun-13-2026=2***Jun-19-2026=1' WHERE job_id'1630401'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Apr-2026=832***May-2026=266***Jun-2026=87' WHERE job_id'1630401'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1630401' 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` = 1630401 
0.0030   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '464966'
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)