Search Bangladesh government jobs from Teletalk AllJobs, filter out unwanted roles using excluded keywords, and track applied job IDs.
Project page: https://clawhub.ai/sazidulalam47/teletalk-alljobs-govjob-search
This skill is built for an OpenClaw workflow where the user provides:
- a search keyword (stored as
keyboardin preferences) - a list of excluded keywords
The script then:
- Reads preferences from
data/preference.json - Calls the Teletalk search API
- Filters out jobs matching excluded keywords (case-insensitive)
- Prints a compact JSON result list
The skill can also store applied job IDs in data/appliedJobIds.json after user confirmation.
teletalk-alljobs-govjob-search/
├─ SKILL.md
├─ README.md
├─ data/
│ ├─ preference.json
│ └─ appliedJobIds.json
└─ scripts/
└─ teletalk-alljobs-search.js
- Node.js 18+ recommended
- Internet access (for Teletalk API requests)
No external npm packages are required.
Current expected shape:
{
"keyboard": "",
"excluded": []
}Notes:
- Keep the field name
keyboardexactly as-is for compatibility with this skill. keyboardis treated as the search keyword.excludedshould be an array of strings.
Example:
{
"keyboard": "electrical",
"excluded": ["Sub Assistant", "Diploma"]
}Stores job IDs that the user has already applied to:
[]When integrated into an OpenClaw flow, append job_primary_id values and avoid duplicates.
The script calls:
GET https://alljobs.teletalk.com.bd/api/v1/published-jobs/search?searchKeyword=<keyword>
and uses govtJobs from the response.
For each job, filtering is currently applied against only job_title.
If any excluded keyword appears in job_title (case-insensitive), the job is removed.
The script prints an array of objects containing these fields:
job_primary_idjob_titlejob_title_bnorg_nameorg_name_bnvacancydeadline_dateapplication_site_url
deadline_date is formatted in Asia/Dhaka timezone and printed with BST suffix.
From the project root:
node .\scripts\teletalk-alljobs-search.jsOr from scripts/:
node .\teletalk-alljobs-search.js- Ask user for keyword and excluded terms.
- Save them into
data/preference.json. - Run the script.
- Show compact job results.
- If user confirms they applied, append
job_primary_idtodata/appliedJobIds.json(no duplicates).
- This skill is focused only on Teletalk government jobs.
- Keep it separate from BDJobs or other job-source workflows.
- Filtering is deterministic and text-based; no model guessing is used.