⏳ This skill is pending AI review.
Scores will appear once the review pipeline completes.
bdjobs-job-apply
BDJobs job search, matching, applying, undoing, and salary-update automation for OpenClaw. Use when the user wants to set up BDJobs credentials/preferences, search fresh non-applied jobs, inspect job details, auto-apply to matched jobs, cancel an application, or update expected salary.
// RATINGS
// README
BDJobs Job Apply (OpenClaw Skill)
BDJobs Job Apply is an OpenClaw skill for automating the BDJobs workflow end to end: save a resume and profile, log in, refresh applied jobs, search fresh openings, rank the best matches, auto-apply, undo an application, and update expected salary.
Clawhub
Project page: clawhub.ai/sazidulalam47/bdjobs-job-apply
What It Stores
The skill keeps its working data in the data/ folder:
resume.md- resume text or LaTeXuserDetails.json- login and profile detailsloggedInData.json- active auth data from BDJobsappliedJobIds.json- job IDs already applied tonotLikedJobIds.json- job IDs to exclude from future suggestionspreferences.json- extra filters and matching preferencesrawJobs.json- raw job search outputsuggestedJobs.json- ranked job suggestionslastApplyResult.json- most recent apply resultlastUndoResult.json- most recent undo resultlastSalaryUpdateResult.json- most recent salary update result
Requirements
- Node.js installed locally
- BDJobs username and password
- A resume in plain text or LaTeX
Quick Start
- Create a profile from your resume:
node scripts/init-job-profile.js "your resume text or latex"
-
Save your BDJobs credentials and preferences in
data/userDetails.jsonanddata/preferences.json. -
Log in and create
data/loggedInData.json:
node scripts/bdjobs-login.js
- Refresh applied jobs:
node scripts/bdjobs-refresh-applied.js
- Search, filter, and rank fresh jobs.
Common Workflows
Search for Fresh Jobs
The typical search flow is:
- Refresh applied jobs from BDJobs.
- Fetch raw search results.
- Remove already applied and not-liked jobs.
- Fetch job details for the remaining candidates.
- Rank the best matches and write
data/suggestedJobs.json.
Useful commands:
node scripts/bdjobs-search.js --keywords=engineer,automation --pages=4 --isFresher=true --jobLocation="Dhaka"
node scripts/bdjobs-fetch-jobs.js --keyword=engineer --pages=2 --isFresher=true --jobLocation="Dhaka"
node scripts/bdjobs-filter-jobs.js < raw-jobs.json
node scripts/bdjobs-job-details.js --jobId=123456
node scripts/bdjobs-rank-jobs.js < jobs-with-details.json
Apply to a Job
node scripts/bdjobs-apply.js --jobId=123456
If the apply succeeds, the job ID is added to data/appliedJobIds.json and the result is saved to data/lastApplyResult.json.
Undo an Application
node scripts/bdjobs-undo.js --jobId=123456
If the cancellation succeeds, the job ID is removed from data/appliedJobIds.json and the result is saved to data/lastUndoResult.json.
Update Expected Salary
node scripts/bdjobs-update-salary.js --jobId=123456 --newSalary=45000
The response is saved to data/lastSalaryUpdateResult.json.
Script Reference
scripts/init-job-profile.js- write resume text intodata/resume.mdscripts/bdjobs-login.js- run username check and login, then save auth datascripts/bdjobs-refresh-applied.js- refreshdata/appliedJobIds.jsonscripts/bdjobs-applied.js- print applied jobs and refreshdata/appliedJobIds.jsonscripts/bdjobs-search.js- fetch raw job search results using saved profile datascripts/bdjobs-fetch-jobs.js- fetch raw jobs for a single keyword or search termscripts/bdjobs-filter-jobs.js- remove already-applied jobs from a JSON stream on stdinscripts/bdjobs-job-details.js- fetch full job details for one job IDscripts/bdjobs-rank-jobs.js- rank jobs and write the top five suggestionsscripts/bdjobs-apply.js- apply to a job by IDscripts/bdjobs-undo.js- cancel an application by IDscripts/bdjobs-update-salary.js- update expected salary for an applied jobscripts/bdjobs-daily-run.js- placeholder for a cron-based daily runner
Matching Rules
The ranking flow compares the resume and preferences against:
- job title
- company name
- job description
- education requirements
- age requirement
- experience requirement
- additional requirements
- suggested skills
- job location
- job nature
API Notes
The repository also includes a compact API reference in references/api.md for the BDJobs endpoints used by the scripts.
Expected Workflow
For OpenClaw automation, the intended order is:
- Initialize the profile.
- Log in.
- Refresh applied jobs.
- Search fresh jobs.
- Rank the best matches.
- Apply only to the strongest candidates.
This keeps the suggestions aligned with the resume, avoids duplicates, and preserves a clear local record of each action.
// HOW IT'S BUILT
KEY FILES