--- id: post-application-tracking title: Post-Application Tracking description: Gmail-based tracking inbox, smart routing, and review workflow. sidebar_position: 3 --- The Tracking Inbox monitors Gmail for job-application responses and updates timelines. ![Tracking Inbox review queue](/img/features/tracking-inbox.png) ## Overview 1. Scans Gmail for recruitment-related emails 2. Matches emails to tracked jobs using AI 3. Updates timeline/state when confidence is high 4. Queues uncertain matches for manual review ## Smart router flow ```mermaid flowchart TD A[Recruitment email arrives in Gmail] --> B[Smart Router AI analyzes content] B --> C{How confident is the match?} C -->|95-100%| D[Auto-linked to job] D --> E[Timeline updated automatically] C -->|50-94%| F[Goes to Inbox for review with suggested match] C -->|<50%| G{Is it relevant?} G -->|Yes| H[Goes to Inbox as orphan] G -->|No| I[Ignored] ``` ## Setup ### Prerequisites 1. Gmail account with application emails 2. Google OAuth credentials ### Configure OAuth Set: ```bash GMAIL_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com GMAIL_OAUTH_CLIENT_SECRET=your-client-secret GMAIL_OAUTH_REDIRECT_URI=https://your-domain.com/oauth/gmail/callback ``` Then connect in UI via **Tracking Inbox → Connect Gmail**. ## Using the inbox - Review pending items in Tracking Inbox - Approve to link/update timeline - Ignore to mark non-relevant Confidence interpretation: - `95-100%`: auto-processed - `50-94%`: pending review with suggestion - `<50%`: pending review as orphan/ignored ## Privacy and security - Scope requested: `gmail.readonly` - Minimal metadata sent for matching - Email data stays local in your instance ## API reference | Method | Endpoint | Description | | ------ | ----------------------------------------- | --------------------- | | GET | `/api/post-application/inbox` | List pending messages | | POST | `/api/post-application/inbox/:id/approve` | Approve message | | POST | `/api/post-application/inbox/:id/deny` | Ignore message | | GET | `/api/post-application/runs` | List sync runs | | POST | `/api/post-application/gmail/connect` | Start OAuth flow | | GET | `/api/post-application/gmail/callback` | OAuth callback | ## Common issues - No refresh token: disconnect and reconnect Gmail. - Emails not appearing: check runs, OAuth config, and recruitment subjects. - Wrong matches: expected in lower-confidence buckets; use manual review.