How to build a Telegram job board bot

By the Botable team

A Telegram job board bot collects roles through a guided submission flow, posts approved ones to a channel, and alerts job seekers whenever a new listing matches the skills and seniority they saved. Describe your fields and your moderation rule, and Botable builds the flow and the matcher.

What is a job board bot?

A Telegram job board bot has two audiences with opposite needs, and the design is the compromise between them. Posters want the submission to be short; seekers want every listing structured enough to filter. The resolution is a small set of required fields — role, location or remote, seniority, and a way to apply — collected as a guided flow rather than a free-text paste, because a channel of unstructured job posts cannot be filtered and therefore cannot alert anyone. Matching then works against stored preferences per seeker: skills, seniority, and whether remote is required. The failure mode particular to job bots is stale listings, since a filled role that keeps appearing in alerts wastes applicants' time and erodes the channel's credibility; an expiry date on every listing, defaulted to thirty days, fixes it at the cost of one field.

What commands does it have?

Commands a job board bot typically has, and what each one does
CommandWhat it does
/postGuided flow to submit a role
/find <keyword>Searches open listings
/alertsSets skills, seniority and remote preference
/mineA poster's own listings and their status
/close <id>Marks a role filled

What do you need before you start?

  • A Telegram bot token from @BotFather
  • The fields every listing must carry, and a channel to publish to
  • A moderation decision: do listings publish immediately or after review

How do you build it?

Why collect fields instead of accepting a pasted description?

Because unstructured text cannot be filtered, and without filtering there are no alerts, which is the feature that makes seekers stay. Ask for a guided flow with four or five required fields; the long description can still be free text underneath them.

How do alerts match a seeker to a role?

Against stored preferences — skills, seniority, remote or a location. Keep the matching generous and let the seeker narrow it; an over-precise matcher sends nothing for a week and gets forgotten.

How do you keep listings from going stale?

An expiry on every listing, defaulting to about thirty days, plus a /close command for the poster. A board where half the roles are filled is one applicants stop trusting, and that reputation does not come back.

Should posts be reviewed before publishing?

For a public channel, yes. Job boards attract scams, and one fraudulent listing on a channel with your name on it costs more than the moderation. A queue with one-tap approval is enough.

A prompt you can use as-is

Paste this into Botable and adjust the details. It is specific on purpose — a vague description produces a vague bot.

Build a job board bot. /post runs a guided flow collecting role title, company, location or remote, seniority, salary range (optional), a short description and an apply link. Nothing publishes automatically — submissions go to an admin queue and /approve <id> posts them to my channel in a consistent format. Every listing expires after 30 days and the poster can /close it early. /alerts lets a seeker store skills, seniority and remote preference, and the bot messages them when a new listing matches. /find <keyword> searches open listings. /mine shows a poster their listings and status.

Build this bot

Who is this bot for?

  • Niche communities where the jobs channel is the reason people joined
  • Recruiters distributing roles to an audience that already exists
  • Anyone tired of jobs being lost in general chat

What goes wrong with this kind of bot?

  • Free-text listings cannot be filtered, which kills alerts and therefore retention
  • No expiry means the board fills with filled roles and loses credibility
  • Job boards attract scams; moderate before publishing to a public channel

Questions about job board bots

Can it pull listings from an existing careers page?

Yes, if the page exposes a feed or an API. The same structured fields apply — the import has to map onto them, or the imported roles will be the ones nobody can filter.

Can candidates apply through the bot?

Yes. Collect a short application and forward it to the poster's chat, which keeps the whole loop in Telegram. Say what you collect, since that is personal data and belongs in your privacy policy.

All twelve build guides