# ProjectFlowLive — Help Center Agent Sitemap
> A structured index of every user guide on the platform, with related
> app routes and AI prompt patterns. Designed for AI agents navigating
> the site.
Last updated: 2026-10-14
Total guides: 13
## Conventions
- Agent should fetch /help/<slug> for the full markdown body
- Each guide carries an audience array — match against the user's role
- Each guide lists related_routes — when the user is on one of those
routes, that guide is the most relevant
- sample_prompts are phrasings the AI Assistant has been trained on —
prefer them as handoff suggestions
- level follows the project's 7-level docs hierarchy
(1=architecture, 2=feature spec, 3=API/DB ref, 4=ops runbook,
5=user guide, 6=troubleshooting). Use it to gauge depth before
fetching — a Level 5 guide is task-oriented for end users; a
Level 1-2 reference is design/spec context
- api_endpoints lets agents link directly to API behavior without
parsing the full guide body (e.g., when generating a PDF on the
user's behalf)
## Cross-references
- /llms.txt — top-level platform crawler index
- /api/agency-resources/pay-items?q=… — public pay item search
- /api/agency-resources/pay-items/<code>/constellation — pay item full context
- /api/agency-resources/spec-sections/<section> — standard spec section content
## Guides
### EVM Performance — earned value, planned value, the S-curve, and what "Not measured" means
slug: evm
url: /help/evm
category: reference
level: 5
audience: project-managers, construction-managers, resident-engineers, ai-assistants, agents
last_updated: 2026-10-12
summary:
How the project EVM Performance page reads the record: one earned value at one status-date point feeds every card; "Not measured" (no actual-cost source), "No baseline yet" (no baselined, budgeted schedule activities) and "Not rated" (no priced pay item with a recorded confidence) instead of an invented rating; the CPI / SPI labels; the 0–100% Progress S-curve; and what makes each card fill in.
related_routes:
- /dashboard/projects/[id]/evm
- /dashboard/projects/[id]/schedule
- /dashboard/projects/[id]/quantity-book
api_endpoints:
- GET /api/projects/:projectId/evm/summary
- GET /api/projects/:projectId/evm/charts
- POST /api/projects/:projectId/evm/recalculate
sample_prompts:
- "Why does the EVM page say "Not measured" for actual cost?"
- "What does "No baseline yet" mean on the SPI card?"
- "Why is Cost Data Quality "Not rated"?"
- "What makes planned value fill in on the EVM page?"
- "What does a CPI of 1.00 mean?"
### Inspector Daily Report → Project Closeout
slug: idr-to-closeout
url: /help/idr-to-closeout
category: workflow
level: 5
audience: inspectors, resident-engineers, project-managers, ai-assistants, agents
last_updated: 2026-05-01
summary:
The complete inspector workflow from creating a daily report in the field through compiling the project closeout package. Same workflow whether you're working on a state DOT contract (IDOT, CDOT, future state DOTs) or a private contract.
related_routes:
- /dashboard/projects
- /dashboard/projects/[id]
- /dashboard/projects/[id]/quantity-book
- /tools/idot-pay-items
api_endpoints:
- POST /api/idr-drawings/daily-reports
- POST /api/idr-drawings/daily-reports/{id}/accept
- GET /api/idr-drawings/daily-reports/{id}/pdf
- GET /api/idr-drawings/projects/{id}/idr-book/pdf
- GET /api/qbook/projects/{id}/entries
- GET /api/qbook/projects/{id}/export/modern.pdf
- GET /api/qbook/projects/{id}/export/bc625.pdf
- POST /api/calc/sheets
- GET /api/agency-resources/pay-items/{code}/constellation
sample_prompts:
- "Walk me through creating a daily report on this project"
- "How do I add a calculation canvas to a pay item entry?"
- "What's the difference between IDR Book Modern and BC 628?"
- "How does the auto-post to Q-Book work?"
- "How do I export the BC 625 Quantity Book at closeout?"
- "How do I install ProjectFlowLive on my phone?"
### Organizations — who sees what
slug: organizations-and-who-sees-what
url: /help/organizations-and-who-sees-what
category: getting-started
level: 5
audience: project-managers, admins, ai-assistants, agents
last_updated: 2026-09-10
summary:
The three access layers: the platform admin area (one user), organization roles (owner/admin see every project and all proposals and RFPs of the organization; other members see its proposals and RFPs), and project membership (projects are shared one at a time). How to set up a team for one organization.
related_routes:
- /dashboard/settings/team
- /dashboard/org/[orgId]
- /dashboard/proposals
- /dashboard/rfps
api_endpoints:
- GET /api/proposals?organizationId=
- GET /api/rfps?organizationId=
- POST /api/invitations
sample_prompts:
- "Will my team member see the platform admin pages?"
- "If I add someone to an organization, which projects do they see?"
- "Who can see proposals and RFPs?"
- "How do I set up two people who should only see one organization?"
### Payments — the pay estimate the CM builds, and the contractor's pay request checked against it
slug: payments
url: /help/payments
category: workflow
level: 5
audience: construction-managers, resident-engineers, inspectors, project-managers, ai-assistants, agents
last_updated: 2026-09-30
summary:
How the Payments section works on the construction-management side: the pay estimate is built first from the record (accepted Quantity Book quantities by period at the contract unit price, with not-yet-accepted daily report quantities shown as pending), downloaded as CSV, and the contractor's pay application is then uploaded and compared line by line, dispositioned and marked reviewed. What is stored and what is rebuilt.
related_routes:
- /dashboard/projects/[id]/pay-requests
- /dashboard/projects/[id]/quantity-book
- /dashboard/projects/[id]/soq
api_endpoints:
- GET /api/pay-requests/projects/:projectId/estimate?from=&through=
- GET /api/pay-requests/projects/:projectId/estimate.csv?from=&through=
- POST /api/pay-requests/projects/:projectId/estimates
- GET /api/pay-requests/projects/:projectId/estimates
- POST /api/pay-requests/projects/:projectId/estimates/:estimateId/finalize
- POST /api/pay-requests/projects/:projectId/estimates/:estimateId/void
- GET /api/pay-requests?projectId=
- POST /api/pay-requests/upload
- GET /api/pay-requests/:id
- POST /api/pay-requests/:id/lines/:lineId/disposition
- POST /api/pay-requests/:id/review
- GET /api/pay-requests/projects/:projectId/tracking.csv
sample_prompts:
- "How do I build a pay estimate for this month?"
- "Why does an item say "pending" on the pay estimate?"
- "Why are some pay estimate amounts blank?"
- "How do I check the contractor's pay request against my quantities?"
- "Is the pay estimate saved anywhere?"
- "What is the Record no. on a saved pay estimate?"
### Proposals — building, pricing display, alternates, revisions, sending, the record
slug: proposals-and-line-items
url: /help/proposals-and-line-items
category: workflow
level: 5
audience: project-managers, estimators, contractors, ai-assistants, agents
last_updated: 2026-09-10
summary:
How a proposal is built (by hand, from an estimate, or with the AI assistant), the three ways the client can see line items (itemised with money, the work without money, total only), alternates and their own price switch, the "Quantity basis" line and why removing it sticks, what a revision carries, the Activity tab record of every email sent, and what the search box matches.
related_routes:
- /dashboard/proposals
- /dashboard/proposals/new
- /dashboard/proposals/[id]
- /dashboard/proposals/[id]/edit
api_endpoints:
- POST /api/proposals/:id/void
- DELETE /api/proposals/:id
- GET /api/proposals
- POST /api/proposals
- POST /api/proposals/ai-generate
- PATCH /api/proposals/:id
- GET /api/proposals/:id/emails
- POST /api/proposals/:id/revision
- POST /api/proposals/:id/alternates
sample_prompts:
- "How do I show line items without prices on a proposal?"
- "What does the "Quantity basis" line mean and can I remove it?"
- "How do I add an alternate to a proposal?"
- "Where can I see the email that was sent with my proposal?"
- "Why can I not find a proposal by the client address?"
### RFPs — soliciting bids from subcontractors and vendors
slug: rfp-soliciting-bids
url: /help/rfp-soliciting-bids
category: workflow
level: 5
audience: project-managers, estimators, contractors, ai-assistants, agents
last_updated: 2026-09-10
summary:
How an RFP works end to end: create it with a bids-due date, issue the bid package, invite vendors (each gets a private portal and an emailed link), open for bids, read bids as they arrive or seal them until the due date, addenda when the package changes, late bids marked not refused, close and award, void with a reason.
related_routes:
- /dashboard/rfps
- /dashboard/rfps/[rfpId]
- /share/[token]
api_endpoints:
- GET /api/rfps/:id/bid-form.xlsx
- POST /api/rfps/:id/vendors/:vendorId/declared-total
- GET /api/rfps/:id/items
- POST /api/rfps/:id/items
- GET /api/rfps/:id/tabulation
- POST /api/rfps/:id/adjustments
- POST /api/rfps/:id/award
- GET /api/rfps/:id/questions
- POST /api/rfps/:id/questions/:qid/answer
- POST /api/rfps/:id/file
- GET /api/reminders/counts
- GET /api/reminders/my-items
- POST /api/reminders/dismiss
- POST /api/rfps
- POST /api/rfps/{rfpId}/package/versions
- POST /api/rfps/{rfpId}/vendors
- POST /api/rfps/{rfpId}/vendors/{vendorId}/portal
- POST /api/rfps/{rfpId}/status
- GET /api/rfps/{rfpId}/responses/{responseId}/download
- POST /api/rfps/{rfpId}/unseal
sample_prompts:
- "How do I send an RFP to a subcontractor?"
- "How does the vendor get the bid package?"
- "Can I read bids before the due date?"
- "I need to add a drawing after vendors already saw the package — what happens?"
- "What happens if a bid comes in after the due date?"
### Texting an outside contact (text or WhatsApp) — join codes, which project a reply goes to, STOP/HELP
slug: texting-outside-contact
url: /help/texting-outside-contact
category: workflow
level: 5
audience: inspectors, resident-engineers, project-managers, ai-assistants, agents
last_updated: 2026-10-14
summary:
How to bring someone without a ProjectFlowLive login into a conversation by text message or WhatsApp: generate a join code, they send it in to join (so consent comes from them, from their own phone — you never type their number), what a joined contact can see, how to tell when they have joined, STOP/HELP, and revoking a code.
related_routes:
- /dashboard/communications
api_endpoints:
- POST /api/chat/conversations/{id}/join-code
- GET /api/chat/conversations/{id}/external-participants
- POST /api/chat/conversations/{id}/external-participants/{epId}/opt-out
sample_prompts:
- "How do I text someone who isn't on the project?"
- "Can I just add their phone number?"
- "What can the person I invited see?"
- "How do I stop texting someone?"
- "How do I tell when my invited contact has joined?"
### The Annotation Editor — tools, selection, section boxes, measuring
slug: annotation-editor
url: /help/annotation-editor
category: reference
level: 5
audience: inspectors, resident-engineers, project-managers, ai-assistants, agents
last_updated: 2026-10-12
summary:
How to annotate photos, plan pages, and document-builder pages: the toolbar, selection modes (continuous click for touch), calibrated measuring with vertical exaggeration, cross-section boxes with their own scale, mirror and copy between sections, and reporting an issue from the editor.
related_routes:
- /dashboard/field-management/enhanced-daily-reports
- /dashboard/projects/[id]/markup-sets/[setId]
api_endpoints:
- POST /api/markup/images/cross-section
- POST /api/markup-sets/{setId}/sheets/cross-section
- POST /api/idr/markups (cross_section)
- POST /api/support/issue-report
sample_prompts:
- "How do I select several line segments on my iPad?"
- "How do I add a cross section to a page and measure an area in it?"
- "Why does my measurement stay correct on a 5x exaggerated section?"
- "How do I move or resize a section box?"
- "How do I mirror a section across the centerline?"
- "How do I report a problem from the editor?"
### The bid board — finding and bidding on work as a contractor
slug: bid-board-for-contractors
url: /help/bid-board-for-contractors
category: workflow
level: 5
audience: contractors, subcontractors, ai-assistants, agents
last_updated: 2026-09-10
summary:
Register free as a Bidding Member, browse the RFPs buyers have listed, enter the ones you want, get the package when admitted, submit your bid on your private portal, and track decisions under My bids.
related_routes:
- /bid/register
- /bid/[token]
- /dashboard/bids/board
- /dashboard/bids
- /share/[token]
api_endpoints:
- GET /api/public/rfp-portal/bid-form.xlsx
- GET /api/public/rfp-portal/schedule
- POST /api/public/rfp-portal/bid
- POST /api/public/rfp-portal/question
- POST /api/auth/register-bidder
- GET /api/rfps/board
- POST /api/rfps/board/:id/enter
- GET /api/rfps/my-bids
- GET /api/public/rfp-listing/:token
sample_prompts:
- "How do I register to bid on ProjectFlowLive?"
- "I got a /bid/ link from a contractor — what do I do?"
- "Why have I not received the bid package yet?"
- "Can other bidders see my bid?"
### The Calculation System — one engine, everywhere you annotate
slug: calculation-canvas
url: /help/calculation-canvas
category: reference
level: 5
audience: inspectors, resident-engineers, project-managers, ai-assistants, agents
last_updated: 2026-08-27
summary:
Live-math calc boxes on every annotation surface — standalone Calc Documents (multipage 8.5×11, document-scoped variables, export equals screen), pay-item worksheets with audited Apply-to-entry, the Drawings-tab document builder, and the single-sheet photo/plan annotators. Units carry through; DOT templates and standards reference built in.
related_routes:
- /dashboard/projects/[id]/tools/calculations
- /dashboard/projects/[id]/markup-sets/[setId]
- /dashboard/projects/[id]/soq
api_endpoints:
- GET /api/calc/canvas/project/{projectId}
- POST /api/calc/canvas
- POST /api/calc/canvases/{canvasId}/apply-to-entry
- POST /api/markup-sets (projectId + setKind=calc_document)
- GET /api/markup-sets?projectId={id}&kind=calc_document
- GET /api/calc/templates/project/{projectId}
- POST /api/calc/templates/{id}/apply
sample_prompts:
- "How do I create a Calc Document and print it?"
- "How do I apply a calc result to a pay item entry?"
- "Why is my lump-sum item asking for percent complete instead of quantity?"
- "How do variables carry across pages in a Calc Document?"
- "Show me a worked example for an HMA yield check from tickets."
- "How do I add a calc box on a photo or plan sheet?"
### The Schedule — P6 import, the Critical Path tab, and the data date
slug: scheduling
url: /help/scheduling
category: workflow
level: 5
audience: project-managers, schedulers, construction-managers, ai-assistants, agents
last_updated: 2026-10-12
summary:
How to import a P6 schedule (activities, links, WBS with P6's dotted codes, and the .xer data date), read the Critical Path tab (critical chain, near-critical work with 5 days of float or less, float in days, P6 flag vs PF CPM source), and set the data date with Retained logic or Progress override before pressing Recalculate.
related_routes:
- /dashboard/projects/[id]/schedule
api_endpoints:
- GET /api/cpm/projects/:projectId/scheduling
- POST /api/cpm/projects/:projectId/calculate
sample_prompts:
- "How do I import a P6 schedule?"
- "What does near-critical mean on the Critical Path tab?"
- "What is the difference between P6 flag and PF CPM?"
- "How do I change the data date and recalculate?"
- "What is the difference between Retained logic and Progress override?"
### The Skill Builder — teach the platform your agency paperwork
slug: skill-builder
url: /help/skill-builder
category: workflow
level: 5
audience: inspectors, resident-engineers, project-managers, ai-assistants, agents
last_updated: 2026-09-06
summary:
How process skills work: pick a sample daily report, chat corrections while a live preview regenerates, provide the agency blank template plus a filled example, and approve to freeze the mapping so every future run repeats exactly.
related_routes:
- /dashboard/process-skills
- /dashboard/process-skills/author
api_endpoints:
- POST /api/skills/author
- POST /api/skills
- GET /api/idr-drawings/daily-reports?scope=member
sample_prompts:
- "How do I create a skill for the Tollway daily report?"
- "What sample report should I pick when teaching a skill?"
- "Why is my sample report list empty?"
- "What do the blank template and filled example do?"
- "How do I fix a skill after the agency changes their form?"
### Weekly Vehicle Mileage Summary — odometer in, mileage lines and daily summaries out
slug: vehicle-mileage-summary
url: /help/vehicle-mileage-summary
category: workflow
level: 5
audience: inspectors, resident-engineers, ai-assistants, agents
last_updated: 2026-10-01
summary:
NOT YET LIVE (arrives with Assistant Skills). Intended: give the AI assistant your start/end odometer for the week; the platform reads your Daily Reports, splits the miles into continuous day ranges that sum exactly, and writes a one-to-two-sentence activity summary per day in the exact mileage-log line format.
related_routes:
- /dashboard/field-management/enhanced-daily-reports
api_endpoints:
- (not yet live — arrives with Assistant Skills)
sample_prompts:
- "Weekly mileage: start 4733, end 5092, week of 8/17."
- "Make Wednesday 77 miles and keep the total the same."
- "Tuesday should be my highest mileage day."
- "Here is my summary for Thursday, use it instead of the daily report."
## How to use this index
If you are an AI agent (Claude, ChatGPT, or a custom navigator) helping
a ProjectFlowLive user:
1. Identify the user's current route. Match against the related_routes
on each guide above. The first match is the guide most relevant to
the screen they're on.
2. Need a workflow walkthrough? Fetch the full body via /help/<slug>.
Markdown is rendered server-side; raw markdown is embedded in the
page as well for easier extraction.
3. Suggesting an AI Assistant handoff? Use one of the sample_prompts
verbatim — they're known to produce good responses on this platform.
4. Looking for context that's not here? Fall through to:
- /llms.txt (platform overview)
- /tools/idot-pay-items/<code> (per-pay-item atlas)
- /api/agency-resources/* (data API for pay items, specs, CM)