Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Attendances
  3. Slack Attendance Integration v 19.0
  4. Sales Conditions FAQ

Slack Attendance Integration

by Anmol Patil https://github.com/anmol6213
Odoo
v 19.0 Third Party 7
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Employees (hr)
• Discuss (mail)
Lines of code 783
Technical Name slack_attendance_integration
LicenseLGPL-3
Websitehttps://github.com/anmol6213
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Employees (hr)
• Discuss (mail)
Lines of code 783
Technical Name slack_attendance_integration
LicenseLGPL-3
Websitehttps://github.com/anmol6213
  • Description
  • Documentation

HR Attendance Module

Slack Attendance

Integration

Let your team check-in, check-out and manage breaks directly from Slack — synced live to Odoo HR Attendance. Zero friction. Zero extra apps.

Odoo 19.0 AI Powered HMAC Secured LGPL-3
# general — Attendance
AttendBot 1:55 PM

Resumed (25 min > 5 min — counted)

R
Rahul 6:05 PM

/logout

AttendBot 6:05 PM

Logged out | Net 8h 15m [done] ✓

THE PROBLEM

Attendance tracking shouldn't be a second job

Switching apps, forgetting to log in, manual HR entries — it adds up to wasted time and inaccurate data.

Before

Open browser → find Odoo → click Attendance → click Check In → go back to Slack

After

Type /login in Slack. Done. Odoo attendance updated instantly.

SLASH COMMANDS

Four commands. That's all your team needs.

/login

Records attendance in Odoo. Grace minutes applied automatically.

/logout

Closes record. Net working hours calculated instantly.

/break

Starts timed break. Short breaks under threshold not deducted.

/resume

Returns from break. Duration saved to Odoo attendance record.

EXPLORE

Features & Screenshots

  • Smart Features
  • Screenshots
Login Grace Minutes

Type /login at 9:03 AM with 5-min grace? Odoo records 8:58 AM. No more penalising employees for being seconds late.

Minimum Break Threshold

Breaks under the minimum are saved but not deducted. A quick coffee doesn't penalise your team.

Net Working Hours

Net = Total − Counted Breaks — live in Odoo Attendance list & form view.

HMAC-SHA256 Verified

Every Slack request verified before any DB action. 5-minute replay window blocks stale requests.

Per-Employee Timezone

Times shown in each employee's own timezone from HR record. No hardcoded IST. Works globally.

Missed Logout Alerts

Forgot /logout? Automatic Slack DM reminder via scheduled cron. No more open records.

Odoo — Configuration & Data
01 Slack Settings Form
Slack Settings Form in Odoo

Bot Token, Signing Secret, Webhook URL, grace minutes & summary settings — all in one place.

02 Employee + Slack ID
Employee form with Slack ID field

Slack User ID field on HR employee form. Paste member ID to link Slack to Odoo attendance.

03 Attendance List
Odoo Attendance list view with net hours column

List view extended with Net Working Hours column for instant daily overview.

04 Attendance Form + Breaks
Attendance form showing breaks and net hours

Full break list, net hours & AI summary all on a single attendance record.

Slack — Commands & Bot Replies
05 /login → Bot Reply
Slack /login command and AttendBot reply

Employee types /login. AttendBot confirms check-in time with grace minutes applied.

06 /break + /resume
Slack /break and /resume flow with duration

/break starts timer. /resume ends it — bot shows duration and whether it was counted.

07 /logout → Net Hours
Slack /logout reply showing net working hours

/logout shows total hours, break time & net working hours. Clean end-of-day confirmation.

08 AI Summary DM AI
AI-powered personalised daily summary DM in Slack

Personalised daily DM by Claude AI — employee's actual hours, streak & target.

SETUP

Live in 5 steps.

1
Install Module

Add to addons path, restart Odoo, install from Apps menu

2
Create Slack App

Add 4 slash commands at api.slack.com/apps

3
Configure

Paste Bot Token, Signing Secret & Webhook URL in Odoo

4
Link Employees

Add Slack User ID to each HR employee record

Done!

Team uses /login from Slack — Odoo updates instantly

SCREENSHOTS

See it in action

From Odoo settings to Slack conversations — every screen you'll interact with.

Odoo — Configuration & Data
01 Slack Settings Form
Slack Settings Form in Odoo

Bot Token, Signing Secret, Webhook URL, grace minutes, break threshold & summary settings — all in one place.

02 Employee + Slack ID
Employee form with Slack ID field

Slack User ID field on the HR employee form. Paste the member ID to link Slack to Odoo attendance.

03 Attendance List
Odoo Attendance list view with net hours column

Standard list view extended with Net Working Hours column for instant daily overview.

04 Attendance Form + Breaks
Attendance form showing breaks and net hours

Full break list, net hours, and AI summary all visible on a single attendance record.

Slack — Commands & Bot Replies
05 /login → Bot Reply
Slack /login command and AttendBot reply

Employee types /login. AttendBot confirms check-in time with grace minutes applied.

06 /break + /resume
Slack /break and /resume flow with duration

/break starts timer. /resume ends it — bot shows duration and whether it was counted.

07 /logout → Net Hours
Slack /logout reply showing net working hours

On /logout, bot shows total hours, break time, and net working hours. Clean end-of-day confirmation.

08 AI Summary DM AI ✩
AI-powered personalised daily summary DM in Slack

Personalised daily DM generated by Claude AI — employee's actual hours, streak & target. Sent at configured time.

CONFIGURATION

All settings in one place.

Setting Default Description
Login Grace Minutes 5 Subtract N minutes from actual check-in time
Min Break Minutes 5 Breaks below this saved but not deducted
Min Working Hours 8.0 Daily target for summaries & alerts
Send Daily Summary True End-of-day Slack DM to each employee
Summary Time 18:00 Hour (24h) when the daily cron fires
Enable AI Summaries False Use Claude AI for personalised messages
Anthropic API Key — sk-ant- key — admins only

Built with ❤ by Anmol Patil  •  LGPL-3 License  •  Odoo 19.0

For support: your-email@example.com

Slack Attendance Integration

Track employee attendance directly from Slack — no separate app, no browser required. Employees use simple slash commands to check in, check out, and manage breaks, all synced automatically with Odoo's HR Attendance module.

  • Features
  • Installation
  • Slack App Configuration
  • AI Summary Setup (optional)
  • Configuration Reference
  • Security
  • Changelog
  • Support

Features

Slack Slash Commands

Command Action
/login Check in — records attendance in Odoo
/logout Check out — closes attendance record
/break Start a break
/resume End a break and return to work

Smart Login Grace Time

Configure a grace window (e.g. 5 minutes) so that an employee who types /login at 10:00 AM is recorded as checking in at 9:55 AM. This removes the pressure of racing the clock.

Break Threshold

Short interruptions (bathroom, coffee) that fall below the configured minimum break duration are saved but not deducted from working hours. Only meaningful breaks count.

Net Working Hours

Every attendance record shows:

Net Working Hours = Total Hours − Counted Break Time

AI-Powered Daily Summary (optional)

When enabled with an Anthropic API key, each employee receives a personalised Slack DM at end-of-day. The message references their actual hours, streak, and target — not a generic template.

Daily Attendance Alert

Employees who forgot to /logout receive an automatic reminder DM.

Installation

Requirements

  • Odoo 17.0 or 18.0
  • Python packages: certifi, pytz (both included in standard Odoo)
  • A Slack workspace with a configured App (slash commands + bot token)

Steps

  1. Copy the slack_attendance_integration folder into your Odoo addons path.

  2. Restart the Odoo server.

  3. In Odoo, go to Apps → search for Slack Attendance → click Install.

  4. Navigate to Attendances → Configuration → Slack Settings.

  5. Fill in:

    • Slack Signing Secret — from your Slack app's Basic Information page
    • Bot Token — starts with xoxb-
    • Incoming Webhook URL — from Incoming Webhooks in your Slack app
  6. Set the Webhook URL in your Slack app's slash commands to:

    https://<your-odoo-domain>/slack/attendance
    
  7. For each employee, open their HR record and add their Slack User ID (found in Slack → profile → Copy member ID).

Slack App Configuration

Create a new Slack app at https://api.slack.com/apps and configure:

Slash Commands

Create four commands, all pointing to the same URL:

Command Usage hint
/login Check in to office
/logout Check out from office
/break Start a break
/resume Resume work after a break

Required Bot Token Scopes

  • chat:write — to send DMs to employees
  • commands — to respond to slash commands

AI Summary Setup (optional)

  1. Get an API key from https://console.anthropic.com
  2. In Slack Settings, enable AI Summaries and paste the key.
  3. The daily cron job will now send personalised messages instead of the default template.

Note

The API key is visible only to Odoo System Administrators. Summaries are generated once per day and cached on the attendance record.

Configuration Reference

Field Description
Login Grace Minutes Subtract N minutes from actual login time
Minimum Break Minutes Breaks shorter than this are not counted
Minimum Working Hours Target hours for daily summary comparison
Send Daily Summary Enable end-of-day Slack DM
Summary Time Hour (24h format) when the cron fires
Enable AI Summaries Use Claude AI for personalised messages
Anthropic API Key Your sk-ant- key (admin-only)

Security

  • Every request from Slack is verified using HMAC-SHA256 with your Signing Secret before any database action is performed.
  • Replay attacks are blocked — requests older than 5 minutes are rejected.
  • SSL connections use the certifi CA bundle (no certificate verification bypass).
  • The Anthropic API key is stored in an admin-only field group.

Changelog

17.0.1.0.0 (2024)

  • Initial release
  • Login / logout / break / resume slash commands
  • Grace minutes and minimum break threshold
  • Net working hours computation
  • Daily Slack summary via cron
  • AI-powered personalised summaries (Claude)
  • HMAC-SHA256 Slack signature verification
  • certifi-based SSL — no CERT_NONE
  • Employee timezone support (no hardcoded IST)

Support

  • GitHub: https://github.com/anmol6213/slack_attendance_integration
  • Issues: https://github.com/anmol6213/slack_attendance_integration/issues

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with