{"id":26518847,"url":"https://github.com/klakshman318/pywhatkit-whatsapp-integration","last_synced_at":"2026-05-08T18:35:24.665Z","repository":{"id":283149592,"uuid":"950841907","full_name":"klakshman318/pywhatkit-whatsapp-integration","owner":"klakshman318","description":"Automate WhatsApp messages using pywhatkit and GitHub Actions with a self-hosted runner.","archived":false,"fork":false,"pushed_at":"2025-03-18T20:26:16.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T20:28:47.044Z","etag":null,"topics":["automation","github-actions","python","pywhatkit","whatsapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klakshman318.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-18T19:06:03.000Z","updated_at":"2025-03-18T20:26:19.000Z","dependencies_parsed_at":"2025-03-18T20:39:37.044Z","dependency_job_id":null,"html_url":"https://github.com/klakshman318/pywhatkit-whatsapp-integration","commit_stats":null,"previous_names":["klakshman318/pywhatkit-whatsapp-integration"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/klakshman318/pywhatkit-whatsapp-integration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klakshman318%2Fpywhatkit-whatsapp-integration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klakshman318%2Fpywhatkit-whatsapp-integration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klakshman318%2Fpywhatkit-whatsapp-integration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klakshman318%2Fpywhatkit-whatsapp-integration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klakshman318","download_url":"https://codeload.github.com/klakshman318/pywhatkit-whatsapp-integration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klakshman318%2Fpywhatkit-whatsapp-integration/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32792378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","github-actions","python","pywhatkit","whatsapp"],"created_at":"2025-03-21T10:16:01.682Z","updated_at":"2026-05-08T18:35:24.646Z","avatar_url":"https://github.com/klakshman318.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WhatsApp Message Automation using PyWhatKit \u0026 GitHub Actions\n\nThis repository demonstrates how to automate sending WhatsApp messages using Python's [pywhatkit](https://github.com/Ankit404butfound/PyWhatKit) library, integrated with GitHub Actions and a self-hosted runner.\n\n## 📌 Features\n- Send WhatsApp messages automatically via Python.\n- Leverages `pywhatkit` to use WhatsApp Web.\n- Runs using **GitHub Actions** with a **self-hosted runner** (GUI support required).\n- One-time WhatsApp Web login (QR code scan), session persisted.\n\n## 🚀 How It Works\n1. Clone the repo and set up a Python script with `pywhatkit`.\n2. Configure a GitHub Actions workflow.\n3. Set up a self-hosted runner with browser support.\n4. Run the workflow to send messages automatically.\n\n## 🛠️ Requirements\n- Python 3.10+\n- `pywhatkit` library\n- Self-hosted GitHub Actions runner (with GUI/browser access)\n- WhatsApp Web login (QR code scan once)\n\n## 📂 Project Structure\n```bash\n.\n├── send_message.py                # Python script to send WhatsApp message via pywhatkit\n├── requirements.txt               # Python dependencies file\n├── README.md                      # Project documentation\n└── .github\n    └── workflows\n        └── send-message.yml       # GitHub Actions workflow to run the message script\n```\n\n## 📦 Installation \u0026 Usage\n\n### 1. Install Dependencies\n\n```bash\npip install -r requirements.txt\n```\n\n### 2. Run Script Locally (Test)\n\n```bash\npython send_message.py\n```\n\n### 3. Set Up Self-Hosted Runner\nFollow GitHub’s official guide for setting up a self-hosted runner.\n\n### 4. Trigger GitHub Action\nGo to GitHub → Actions tab → Run the workflow manually.\n\n## ❓ FAQ\n\n### 1. Why do I need a self-hosted runner?\n`pywhatkit` opens WhatsApp Web in a browser, which is not supported on GitHub's cloud runners. A self-hosted runner with GUI/browser support is required.\n\n### 2. Do I need to scan the WhatsApp QR code every time?\nNo, you only need to scan the QR code once. The session will persist unless you log out or clear browser data.\n\n### 3. Can I schedule messages instead of sending instantly?\nYes! Use `pywhatkit.sendwhatmsg(phone_no, message, time_hour, time_min)` for scheduled messages.\n\n## 🛠️ Troubleshooting\n\n- **Error: Browser not opening or script hangs**\n  - Ensure your self-hosted runner machine has a GUI and a default browser installed.\n  - Try running the script locally first to verify.\n\n- **QR Code appears every time**\n  - Make sure your browser retains session/cookies. Don’t clear site data for WhatsApp Web.\n\n- **GitHub Action stuck on 'Running'**\n  - Check that your self-hosted runner is active and terminal window is running `./run.sh`.\n\n- **Permission Denied (Linux)**\n  - Run: `chmod +x ./run.sh` and `chmod +x ./config.sh`\n\n## 🤝 Contributing\n\nContributions are welcome! If you find a bug or have a feature request, open an issue or submit a pull request.\n\n1. Fork the repo\n2. Create a new branch\n3. Commit changes\n4. Push and create a PR\n\n![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)\n![GitHub Actions](https://github.com/klakshman318/pywhatkit-whatsapp-integration/actions/workflows/send-message.yml/badge.svg)\n![License](https://img.shields.io/badge/license-MIT-green)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklakshman318%2Fpywhatkit-whatsapp-integration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklakshman318%2Fpywhatkit-whatsapp-integration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklakshman318%2Fpywhatkit-whatsapp-integration/lists"}