A Chrome extension that automatically captures Zoho authentication cookies and invokes a custom API service when Zoho ticket pages are loaded. This extension seamlessly integrates with custom API service to fetch additional ticket details and display them in a floating widget.
This repository contains:
- Chrome Extension: Automatically captures complete Zoho cookies and triggers API calls
- API Integration: Sends captured cookies to your custom service via
X-Zoho-Cookiesheader - Visual Interface: Displays API response in a floating widget with
user_detailssection - Automatic Detection: Works on Zoho ticket detail pages without manual intervention
- Google Chrome browser
- Developer mode enabled in Chrome Extensions
-
Download Extension Files
git clone <repository-url> cd ZOHO-plugin-uv/extn
-
Enable Chrome Developer Mode
- Open Chrome and navigate to
chrome://extensions/ - Toggle "Developer mode" in the top-right corner
- Open Chrome and navigate to
-
Load Extension
- Click "Load unpacked" button
- Select the
extnfolder containing the extension files:manifest.jsonbackground.jscontent.jspopup.htmlpopup.js
-
Verify Installation
- Extension should appear in your extensions list
- Look for "Zoho Ticket API Invoker" with version 1.0
- Pin the extension to your toolbar (optional)
extn/
├── manifest.json # Extension configuration
├── background.js # Service worker for cookie capture
├── content.js # Content script for Zoho pages
├── popup.html # Extension popup interface
└── popup.js # Popup functionality
- Python 3.8+
- FastAPI
- Uvicorn
- git-lfs (for large files checkout - git pull won't download actual files in 'models' and 'vectors' directories)
-
Navigate to Source Directory
cd src/ -
Create Virtual Environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install Dependencies
pip install uv uv sync uv lock pip install git-lfs git lfs install git lfs pull
-
Configure Environment Variables
# Create .env file echo "ZOHO_ORG_ID=your_zoho_org_id" > .env echo "ZOHO_ACCESS_TOKEN=your_access_token" >> .env echo "IGOT_API_TOKEN=your_igot_token" >> .env
-
Start the Service
uvicorn main:app --reload --host 127.0.0.1 --port 8000
-
Verify Service
- Open
http://127.0.0.1:8000/rootin your browser - You should see: "This is Karmayogi Bharat ZOHO ticket support service REST integration !!"
- Open
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Health check endpoint |
/ticket/details/{ticket_id} |
GET | Main API endpoint that receives Zoho cookies |
The extension sends the following headers to your API:
X-Zoho-Cookies: <complete_cookie_string>
- Cookie Capture: Extension monitors all network requests to Zoho domains and captures complete authentication cookies
- Automatic Trigger: When a Zoho ticket page loads, the extension extracts the ticket ID from the URL
- API Call: Extension sends GET request to
http://127.0.0.1:8000/ticket/details/{ticket_id}with captured cookies - Response Display: API response is formatted and displayed in a floating widget on the Zoho page
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For issues and questions:
- Check the troubleshooting section above
- Review browser console logs
- Verify API service is running correctly
- Ensure all prerequisites are met