A build-to-order Frappe app that connects ERPNext HR to Slack and Microsoft Teams, so remote teams apply for leave, check in/out, approve requests, and receive HR reminders without leaving chat. ECOSIRE designs, builds, installs, and supports it against your workflows. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $249.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that connects ERPNext HR to Slack and Microsoft Teams, so remote teams apply for leave, check in/out, approve requests, and receive HR reminders without leaving chat. ECOSIRE designs, builds, installs, and supports it against your workflows.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Your people live in Slack or Microsoft Teams all day, but ERPNext HR lives behind a login they open twice a month. So leave applications sit unfiled, check-ins get skipped, and managers only notice a pending Leave Application when payroll asks. ERPNext core ships solid HR DocTypes — Leave Application, Employee Checkin, Attendance, Expense Claim — and even email notifications, but it has no first-class Slack or Teams presence: no slash commands, no interactive approval buttons, no way for a manager to approve from a mobile notification. The notification doctype can push to a webhook, but that is a one-way fire-and-forget message, not a conversation. Bridging that last mile with off-the-shelf iPaaS glue ends in brittle Zapier chains that break every time your leave workflow changes.
Slack slash commands and Microsoft Teams message-extension actions for leave application, mapped to real `Leave Application` DocTypes under the requester's ERPNext permissions
Interactive approve/reject buttons that trigger the native ERPNext leave workflow transition — leave ledger and balances stay authoritative in ERPNext
Chat check-in/check-out writing `Employee Checkin` records with timestamp, and optional geolocation/IP captured from the chat action
Inbound request signature verification: Slack signing-secret HMAC and Microsoft Teams bot JWT validation on every whitelisted endpoint
`hooks.py` `doc_events` handlers (after_insert / on_submit / on_update_after_submit) that push targeted DMs and channel messages on HR document changes
Frappe `scheduler_events` jobs for pending-approval reminders, sent to managers with the approvable items inlined
We build a proper Frappe app — its own module, DocTypes, hooks.py doc events, and whitelisted API methods — that turns your existing ERPNext HR data into a two-way chat assistant. On the inbound side, Slack slash commands and Teams message-extension actions post to signed, whitelisted endpoints (@frappe.whitelist()), which we verify (Slack signing secret / Teams JWT) before creating the matching ERPNext document under the correct employee's permissions and role profile. /leave 2026-08-10 2026-08-12 Annual creates a real Leave Application linked to the requester's Employee record; /checkin writes an Employee Checkin with the chat-reported timestamp and optional geolocation. Interactive approve/reject buttons call back into ERPNext to run the standard workflow transition, so the audit trail, leave-ledger entries, and balances stay 100% native — the bot never becomes a shadow system of record.
On the outbound side we wire hooks.py doc_events and Frappe scheduler_events to push the right message to the right person. A new Leave Application in the Open state DMs the approving manager with inline buttons; a submitted leave notifies the employee's channel. Scheduled jobs fan out the daily/weekly digests: pending-approval reminders to managers, birthday and work-anniversary announcements to a team channel, upcoming public-holiday notices from the Holiday List, payslip-ready pings after a Salary Slip is submitted, and review-due nudges from the appraisal cycle. Workspace/channel routing, message templates, and quiet-hours are all configurable through a Chat HR Settings single DocType plus per-event mapping — no code edits to change who gets what.
Everything runs on your Frappe bench against Frappe/ERPNext v15 or v16, respecting your existing permissions: the bot can only do what the linked ERPNext user is already allowed to do, and unmapped Slack/Teams identities are refused rather than silently escalated. Client scripts add a small "Notify in chat" affordance where it helps inside the Desk, but the heavy lifting is server-side and testable.
Because this is build-to-order, we start from your actual leave types, approval hierarchy, and which platform (Slack, Teams, or both) you run. After a short scoping call we confirm the command set, notification matrix, and channel routing in writing, then build, test on a staging bench, and hand over. Typical delivery is 2–4 weeks from confirmed scope. You receive the installable app source for your version, install and configuration on your environment, technical and end-user documentation, a training session, and a post-go-live support window — not a marketplace download you have to wire up yourself.
Runs HR entirely in ERPNext but watches leave requests and check-ins slip because staff never open the Desk. Wants self-service in Slack/Teams that still lands as clean, native ERPNext records with a proper audit trail.
Approves leave for a distributed team and wants to approve or reject from a chat notification on mobile — without opening ERPNext — while keeping balances and workflow states authoritative in the system of record.
Owns the Frappe bench and needs a properly structured app: version-pinned for v15/v16, permission-respecting, testable, and handed over as source with docs — not an opaque marketplace binary or brittle iPaaS glue.
Wants higher HR-process compliance (filed leave, logged attendance, acknowledged reviews) measured in the tools the company already uses, and a single vendor to build, install, and support the bridge.
Buy the license on ecosire.com and download the Slack & Teams HR Bot app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install Slack & Teams HR Bot and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Leave / check-in from chat | Slash commands & Teams actions create native ERPNext records | Possible, but you design and maintain the whole bridge | Generic, often notification-only with no two-way actions | |
| Approve from a chat notification | Interactive buttons run the native leave workflow transition | Build the callback + workflow wiring yourself | Rarely supports true in-chat approval | |
| System of record integrity | ERPNext stays authoritative; bot writes real DocTypes under permissions | Depends entirely on your implementation discipline | Risk of a shadow store or brittle sync | |
| Reminders & announcements | Scheduler-driven pending-approval, birthday, holiday, payslip, review pings | Write and maintain each scheduler job yourself | Limited, fixed set — hard to extend | |
| Fit to your workflow | Built around your leave types, hierarchy & channels | Fully bespoke, at full build cost and time | One-size-fits-most; you adapt to it | |
| Configurability after handover | Notification matrix & routing via `Chat HR Settings` DocType | Whatever you chose to build | Vendor-controlled settings screen | |
| Version support | Pinned & tested for Frappe/ERPNext v15/v16 | Your responsibility across upgrades | May lag ERPNext releases | |
| Ownership & support | Full source + git handover + support window from ECOSIRE | You own and staff it entirely | Subscription; source usually closed |
No. It is build-to-order. ECOSIRE designs, builds, installs, and supports the app around your actual leave types, approval hierarchy, and chat platform. There is no instant download — you receive the installable source for your version once it is built and tested.
Typically 2–4 weeks from confirmed scope. After a short scoping call we agree the command set, notification matrix, and channel routing in writing; that confirmed scope starts the clock. More complex approval chains or dual Slack + Teams rollouts can extend the timeline, which we confirm before starting.
Yes — either or both. Inbound uses Slack slash commands and Teams message-extension actions; outbound uses Slack DMs/channels and Teams bot messages. We scope which platforms you need so we only build and register what you'll actually use.
No. Every action runs through whitelisted methods under the linked ERPNext user's permissions and role profile, and writes native DocTypes — `Leave Application`, `Employee Checkin`, workflow transitions. The chat layer is an interface; ERPNext stays the single system of record, and unmapped chat identities are refused.
Frappe/ERPNext v15 and v16. We pin the app to your running version, test on a staging bench matching it, and note any version-specific behavior in the handover docs.
Every build includes a post-go-live support window for defect fixes and configuration tweaks. Because you receive the full git repository and source, your own team can also maintain it. Beyond the included window, we offer ongoing support and version-upgrade retainers on request.
Yes. Recipients, channels, templates, and quiet-hours are driven by a `Chat HR Settings` single DocType and a per-event mapping table, so HR can adjust the notification matrix without code changes. Structural additions (new command types or new HR events) are a small scoped enhancement.
A build-to-order Frappe app that connects ERPNext HR to Slack and Microsoft Teams, so remote teams apply for leave, check in/out, approve requests, and receive HR reminders without leaving chat. ECOSIRE designs, builds, installs, and supports it against your workflows.