Add documentation for undocumented features (#172)

* documentation writing skill

* visa sponsors page

* overview

* in progress board

* settings

* reactive resume section

* database backups

* workflows

* post application tracking flow

* manual tracking caveats

* pricing section

* pipeline run detalis

* job search bar

* keyboard shortcuts

* bulk actions

* no informal phrasing

* formatting

* build fix?

* Update docs-site/docs/features/overview.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs-site/versioned_docs/version-0.1.20/features/orchestrator.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs-site/docs/features/visa-sponsors.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update docs-site/docs/features/in-progress-board.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove link to page that don't exist

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Shaheer Sarfaraz
2026-02-16 00:33:35 +00:00
committed by GitHub
co-authored by Copilot
parent 1f929dfc7f
commit 390d03625e
25 changed files with 1720 additions and 193 deletions
@@ -0,0 +1,96 @@
---
id: find-jobs-and-apply-workflow
title: Find Jobs and Apply Workflow
description: Recommended end-to-end pre-application workflow from pipeline run to marking jobs as applied.
sidebar_position: 1
---
## Goal
This guide documents the main intended pre-application workflow in JobOps.
If you follow this order, you get the strongest results from discovery, scoring, tailoring, and tracking.
## Recommended flow (in order)
### 1) Run a pipeline first
From the **Jobs** page, use the top-right pipeline/run control.
What this does:
- fetches jobs from enabled extractors
- scores relevance against your resume/profile
- optionally tailors top jobs and prepares PDFs
Important:
- Some scrapers are slower and can take significant time.
- Larger scrape ranges and more sources increase run duration.
### 2) Configure pipeline advanced settings
In pipeline advanced settings, configure:
- how many jobs to discover (approximate target)
- minimum score threshold for tailoring
- how many jobs should be tailored/generated
This directly controls how many jobs appear downstream in `discovered` and `ready`.
### 3) Review the `Discovered` column
After the run, `discovered` is populated with jobs found by extractors.
For each discovered job:
- review the suitability score
- read the AI fit justification in **Fit Assessment**
- decide whether the opportunity is worth advancing
### 4) Work from `Ready` for applications
`ready` jobs are the primary application queue.
These jobs already have tailored PDFs generated for the specific job description, using the workflow described in [Reactive Resume](../features/reactive-resume).
At this stage:
1. Open job details.
2. Download the tailored PDF.
3. Submit your application externally.
### 5) Mark jobs as applied in JobOps
After submitting, return to JobOps and mark the job as `applied`.
Effects:
- job moves to the `applied` state
- configured completion webhook(s) are triggered
- job is included in overview analytics
This completes the detailed pre-application loop.
## What happens next
Once a job is marked `applied`, it becomes part of:
- pipeline outcome analytics on [Overview](../features/overview)
- optional post-application workflows (inbox/review routing)
## Practical tips
- Start with conservative run sizes while tuning sources.
- Increase tailored-job count only after score thresholds feel calibrated.
- Expect scraper runtime variance by source.
- Keep resume/project context up to date so scoring/tailoring quality stays high.
## Related pages
- [Orchestrator](../features/orchestrator)
- [Reactive Resume](../features/reactive-resume)
- [Settings](../features/settings)
- [Overview](../features/overview)
- [Post-Application Workflow](./post-application-workflow)
- [Post-Application Tracking](../features/post-application-tracking)
@@ -0,0 +1,141 @@
---
id: post-application-workflow
title: Post-Application Workflow
description: Track post-application progress manually, or configure automatic Gmail syncing and inbox review.
sidebar_position: 2
---
## Goal
After a job is marked `applied`, use this workflow to track what happens next.
You have two valid paths:
- **Manual tracking**: update stages/events yourself.
- **Automatic Gmail sync**: let email ingestion route events into inbox/review flow.
## Option A: Manual event tracking
Use this when you want explicit, hands-on control for each job.
### Manual flow
1. Open an `applied` or `in_progress` job.
2. Record stage progress as events (screening, interview, offer, closed, etc.).
3. Keep notes/outcomes current as conversations progress.
4. Use In Progress Board for high-attention jobs in later stages.
### API example (manual stage transition)
```bash
curl -X POST "http://localhost:3001/api/jobs/<jobId>/stages" \
-H "content-type: application/json" \
-d '{
"toStage": "technical_interview",
"metadata": {
"actor": "user",
"eventType": "status_update",
"eventLabel": "Moved to Technical Interview"
}
}'
```
## Option B: Automatic Gmail syncing
Use this when you want JobOps to ingest recruitment emails and suggest/apply updates.
### High-level flow
1. Connect Gmail provider.
2. Run sync (or scheduled sync, depending on setup).
3. Smart router scores message-to-job match.
4. High confidence updates are auto-linked.
5. Mid/low confidence items go to inbox for review.
### Configure Gmail sync
Set OAuth variables:
```bash
GMAIL_OAUTH_CLIENT_ID=...
GMAIL_OAUTH_CLIENT_SECRET=...
GMAIL_OAUTH_REDIRECT_URI=https://your-domain.com/oauth/gmail/callback
```
Then in app:
1. Open Tracking Inbox / provider controls.
2. Start Gmail OAuth.
3. Complete consent.
4. Trigger sync and review inbox items.
### API examples (Gmail path)
```bash
# Start OAuth
curl "http://localhost:3001/api/post-application/providers/gmail/oauth/start?accountKey=default"
```
```bash
# Exchange authorization code
curl -X POST "http://localhost:3001/api/post-application/providers/gmail/oauth/exchange" \
-H "content-type: application/json" \
-d '{"accountKey":"default","state":"<state>","code":"<code>"}'
```
```bash
# Trigger provider sync action
curl -X POST "http://localhost:3001/api/post-application/providers/gmail/actions/sync" \
-H "content-type: application/json" \
-d '{"accountKey":"default","maxMessages":100,"searchDays":30}'
```
```bash
# Review inbox
curl "http://localhost:3001/api/post-application/inbox?provider=gmail&accountKey=default"
```
```bash
# Approve inbox item
curl -X POST "http://localhost:3001/api/post-application/inbox/<messageId>/approve" \
-H "content-type: application/json" \
-d '{"provider":"gmail","accountKey":"default"}'
```
```bash
# Deny inbox item
curl -X POST "http://localhost:3001/api/post-application/inbox/<messageId>/deny" \
-H "content-type: application/json" \
-d '{"provider":"gmail","accountKey":"default"}'
```
## Which option should you use?
- Choose **manual** if your volume is low and you want direct control.
- Choose **automatic Gmail sync** if your volume is higher and you want less repetitive triage.
- Many users combine both: auto-sync first, manual adjustments for edge cases.
## Common problems
### Gmail connected but no messages appear
- Verify OAuth credentials and redirect URI.
- Confirm you are syncing the intended account key.
- Check search window (`searchDays`) and message cap (`maxMessages`).
### Wrong job matched
- Expected in lower-confidence buckets.
- Deny incorrect inbox items and apply manual stage updates where needed.
### I prefer not to grant Gmail access
- Use the manual tracking path only.
- The post-application workflow still works without Gmail integration.
## Related pages
- [Find Jobs and Apply Workflow](./find-jobs-and-apply-workflow)
- [Post-Application Tracking](../features/post-application-tracking)
- [In Progress Board](../features/in-progress-board)
- [Overview](../features/overview)