Auto Worklog Submitter for Kalvium v2
Auto Worklog Submitter is a Chrome extension designed to automate the daily routine of submitting worklogs on the Kalvium Community platform.
Instead of manually navigating to the portal every evening, this extension captures your authentication tokens, allows you to pre-define a pool of tasks, and works with a backend service to automatically submit your log daily at 7:00 PM IST. You will receive an email notification confirming success or detailing any errors.
- Automatic Token Capture: Captures both Access Token and Refresh Token from
kalvium.communityautomatically when you log in. - Server-Side Token Refresh: The backend automatically refreshes expired access tokens using your refresh token - no need to log in frequently.
- Smart Automation: Runs a backend job daily at 7:00 PM IST to submit your worklog.
- Task Randomization: You provide a list of tasks (e.g., "Debugging", "Frontend UI", "API Integration"). The system randomly selects one each day to ensure variety in your logs.
- Context Aware: Supports different working modes:
- Working Remotely (Not in the Kalvium environment)
- Working from Class
- Working On-site (Company Location)
- Email Reports: Receive daily status emails confirming success or alerting you to any issues.
- Token Capture: The extension injects scripts into
kalvium.community. When you log in, it intercepts the authentication response and securely captures both theaccess_tokenandrefresh_token. - Configuration: You use the extension popup to set your "Work Mode" and add a list of tasks.
- Synchronization: Clicking "Save & Activate" sends your tokens, Work Mode, and Tasks to the backend server.
- Automatic Token Refresh: When your access token is about to expire (within 24 hours), the backend automatically uses your refresh token to obtain a new access token.
- Execution: The backend runs a scheduled job daily at 7:00 PM IST. It retrieves your user profile, picks a random task, and submits it to the Kalvium Student API.
v2
- Added automatic saving of the latest tokens when you log in to
kalvium.community, so your session stays alive and submissions keep working.
Since this is a custom extension, you need to load it into Chrome manually (Developer Mode).
- Clone or Download this repository to your computer.
- Open Google Chrome and navigate to
chrome://extensions. - Toggle Developer mode in the top right corner.
- Click Load unpacked in the top left.
- Select the folder containing the
manifest.jsonfile from this repository.
- Click the Auto Worklog Submitter extension icon in your browser toolbar.
- You will likely see a status:
Tokens: Not Captured. - Click the link in the extension to open kalvium.community.
- Log in to your Kalvium account if not already logged in.
- The extension will automatically capture your tokens in the background.
- Return to the extension popup - it should now show
Tokens: Capturedwith the full tokens displayed.
- Open the extension popup.
- Status should show:
Tokens: Capturedwith a timestamp. - You can see your captured Access Token and Refresh Token in scrollable containers.
- Select your Working Mode (e.g., Remote, On-site, or From Class).
- Add Tasks: Enter descriptions of your daily work.
- Tip: Add multiple variations (e.g., "Fixed UI bugs," "Backend API optimization," "Team meeting") so the logs don't look identical every day.
- Click Save & Activate.
- The system runs the automated submission process every weekday (Mon-Fri) around 7:00 PM IST.
- Your access token expires after approximately 3 days.
- Your refresh token is valid for approximately 6 days.
- The server automatically checks token expiry before each submission.
- If your access token expires within 24 hours, the server uses your refresh token to get fresh tokens.
CRITICAL: Do NOT manually log out of the Kalvium Community website. Logging out invalidates your refresh token immediately.
If you log in again and the latest tokens are not captured, the old session tokens will stop working and the auto-submission will fail. The same applies if your session expires for any reason (e.g., manual logout, server-side expiry, or security change). You will receive a "FAILED" email notification alerting you to this one day in advance.
If you receive this alert:
- Log in to the Kalvium Community website.
- Open this extension popup to ensure the latest tokens are captured.
- Click "Save and Activate" to store your new valid tokens.
- You will receive an email every evening after 7:00 PM IST regarding the status of your submission.
- Success emails confirm the task that was submitted.
- Failure emails provide detailed error information and possible causes.
If the submission fails, the backend analyzes the error code:
- 400: Bad Request (Malformed data).
- 401: Token Expired (Both tokens expired - please log in to
kalvium.communityto capture new tokens). - 404: No pending worklog found (already submitted or worklog period not started).
- 500: Kalvium Server Error (temporary issue on Kalvium's side).
- Tokens are stored locally in your browser's extension storage.
- Tokens are transmitted securely to the backend server via HTTPS.
- The backend stores tokens encrypted in MongoDB.
- Only you receive email notifications about your submissions.
To stop automatic submissions:
- Open the extension popup.
- Click Deactivate & Delete.
- This removes your data from the server and stops all automatic submissions.
This tool is intended to simplify the logging process for routine tasks. Please ensure you manually verify your logs occasionally and keep your task list updated to accurately reflect your actual work. The developer is not responsible for missed logs due to server downtime, changed API endpoints, or expired tokens.
Developed by Akash Singh