Skip to content

[No QA] Update AI Agent help docs - #104652

Open
MelvinBot wants to merge 4 commits into
mainfrom
claude-updateAIAgentHelpDocs-20261021
Open

MelvinBot wants to merge 4 commits into
mainfrom
claude-updateAIAgentHelpDocs-20261021

Conversation

@MelvinBot

@MelvinBot MelvinBot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Explanation of Change

This updates the AI Agent Capabilities reference article with the latest changes from the backend generator:

  • The workspace settings capability now covers saving or replacing the workspace expense policy document from a PDF an admin attaches in chat, with a new example phrase.
  • The same capability now covers changing member roles, with the new example phrase "Make jane@example.com an admin on the workspace".

The count stays at 24 capabilities.

The generator output also reverted wording that reviewers changed in an earlier PR. This PR keeps those reviewed edits:

  • contentType: topic and order front matter stay in place.
  • "agent", "workspace", and "workspace admin" stay lowercase in running text.
  • The Bill.com note stays out, because Bill.com is a defunct integration.
  • The delete-reports section keeps customer-facing wording instead of OPEN and EditExpense.

AI-Agent-Triggers.md has no new events (still 127), so this PR doesn't change it.

Fixed Issues

$
PROPOSAL:

Tests

// TODO: The human co-author must fill out the tests you ran before marking this PR as "ready for review"
// Please describe what tests you performed that validates your changed worked.

  • Verify that no errors appear in the JS console

Offline tests

QA Steps

// TODO: The human co-author must fill out the QA tests you ran before marking this PR as "ready for review".
// Please describe what QA needs to do to validate your changes and what areas do they need to test for regressions.

  • Verify that no errors appear in the JS console

PR Author Checklist

  • I linked the correct issue in the ### Fixed Issues section above
  • I wrote clear testing steps that cover the changes made in this PR
    • I added steps for local testing in the Tests section
    • I added steps for the expected offline behavior in the Offline steps section
    • I added steps for Staging and/or Production testing in the QA steps section
    • I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
    • I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
    • I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).
  • I included screenshots or videos for tests on all platforms
  • I ran the tests on all platforms & verified they passed on:
    • Android: Native
    • Android: mWeb Chrome
    • iOS: Native
    • iOS: mWeb Safari
    • MacOS: Chrome / Safari
  • I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
  • I verified any copy / text that was added to the app is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
  • If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
  • I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
  • If new assets were added or existing ones were modified, I verified that:
    • The assets are optimized and compressed (for SVG files, run npm run compress-svg)
    • The assets load correctly across all supported platforms.
  • If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
  • If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
  • If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
  • If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
  • If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:
    • I verified that all the inputs inside a form are aligned with each other.
    • I added Design label and/or tagged @Expensify/design so the design team can review the changes.
  • If the PR adds or modifies the UI:
    • I asked an AI agent to review the changes for accessibility issues and addressed its findings.
    • I tested with a screen reader (VoiceOver on macOS) and verified all new/changed elements are reachable with a logical focus order.
    • I verified all new/changed elements have meaningful accessible names and roles.
    • I verified state changes are announced (e.g. checked/unchecked, expanded/collapsed, selected).
  • I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
  • If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari

Co-authored-by: Ishpaul Singh <ishpaul777@users.noreply.github.com>
@MelvinBot

Copy link
Copy Markdown
Contributor Author

I created this PR from an upstream branch since I don't have push access to your fork.

To take ownership of this branch and be able to push updates, run:

git remote add upstream https://github.com/Expensify/App.git
git fetch upstream claude-updateAIAgentHelpDocs-20261021
git checkout -b claude-updateAIAgentHelpDocs-20261021 upstream/claude-updateAIAgentHelpDocs-20261021
git push -u origin claude-updateAIAgentHelpDocs-20261021

Then you can close this PR and open a new one from your fork.

@OSBotify

This comment has been minimized.

@ishpaul777

Copy link
Copy Markdown
Contributor

@MelvinBot fix failing ci check and mark it ready for review

Co-authored-by: Ishpaul Singh <ishpaul777@users.noreply.github.com>
@MelvinBot

Copy link
Copy Markdown
Contributor Author

Fixed the failing spellcheck check. cspell flagged the British spelling personalised in AI-Agent-Capabilities.md (line 250). I changed it to personalized in 4837123.

Check independent approval is also failing. It needs a reviewer approval, so no code change applies.


view run

@OSBotify

This comment has been minimized.

@MelvinBot
MelvinBot marked this pull request as ready for review October 21, 2026 21:30
@MelvinBot

Copy link
Copy Markdown
Contributor Author

I marked this PR ready for review.

The spellcheck failure was already fixed in 4837123, which changed personalised to personalized. All CI checks now pass except Check independent approval. That check passes once a reviewer approves the PR, so no code change can fix it.


view run

@melvin-bot

melvin-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown

Product reviewer checklist:

  • I have verified the accuracy of the article
    • The article is within a hub that makes sense, and the navigation is correct
    • All processes, screenshots, and examples align with current product behavior.
    • All links within the doc have been verified for correct destination and functionality.
  • I have verified the readability of the article
    • The article's language is clear, concise, and free of jargon.
    • The grammar, spelling, and punctuation are correct.
    • The article contains at least one image, or that an image is not necessary
  • I have verified the formatting of the article
    • The article has consistent formatting (headings, bullet points, etc.) with other HelpDot articles and that aligns with the HelpDot formatting standards.
    • The article has proper text spacing and breaks for readability.
  • I have verified the article has the appropriate tone and style
    • The article's tone is professional, friendly, and suitable for the target audience.
    • The article's tone, terminology, and voice are consistent throughout.
  • I have verified the overall quality of the article
    • The article is not missing any information, nor does it contain redundant information.
    • The article fully addresses user needs.
  • I have verified that all requested improvements have been addressed

For more detailed instructions on completing this checklist, see How do I review a HelpDot PR?

cc @dylanexpensify

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T21:34:30.241515Z 4837123 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@melvin-bot
melvin-bot Bot requested review from dylanexpensify and removed request for a team October 21, 2026 21:30
@melvin-bot

melvin-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown

@dylanexpensify Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

---
title: Agent Capability Reference
description: Every action your agent can take, with ready-to-copy instruction phrases and disambiguation notes to avoid common mis-routings.
description: Every action your Agent can take, with ready-to-copy instruction phrases and disambiguation notes to avoid common mis-routings.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: Changing "agent" to "Agent" here conflicts with the rest of the article (and the keywords line still uses lowercase "agent"). Per the Deterministic Writing Rule, keep the term consistent. Unless "Agent" is an exact branded UI label in src/languages/en.ts, use lowercase "agent" in running text: "Every action your agent can take".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

internalScope: Audience is all members configuring agents. Covers all supported ManageReport sub-actions, AddComment, and AnalyzeExpenses. Does not cover read-only report context or NoResponse behavior.
contentType: topic
order: 8
internalScope: Audience is all members configuring Agents. Covers all supported ManageReport sub-actions, AddComment, and AnalyzeExpenses. Does not cover read-only report context or NoResponse behavior.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "configuring Agents" conflicts with the lowercase "agents" used elsewhere (e.g. keywords). Keep the term consistent and lowercase in running text per the Deterministic Writing Rule: "Audience is all members configuring agents."

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run


An agent acts on expense reports using the actions described below. This reference helps you phrase your instructions so your agent reliably does what you intend — and doesn't accidentally take the wrong action.
An Agent acts on expense reports using the actions described below. This reference helps you phrase your instructions so your agent reliably does what you intend — and doesn't accidentally take the wrong action.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "An Agent acts..." but the same sentence then says "so your agent reliably does what you intend". Per the Deterministic Writing Rule, be consistent. Use lowercase "agent" in running text: "An agent acts on expense reports...".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

## How to write instructions that unapprove expense reports

**Goal:** Undoes the approval of an Approved expense report so it can be reviewed and approved again. The report returns to Outstanding (submitted), or to Draft if the submitter approved it themselves. Requires workspace admin role, unless the agent is the approver who gave the final approval. On a workspace that uses Dynamic External Workflow approvals, only a workspace admin can unapprove. A report that has already been paid through Expensify cannot be unapproved.
**Goal:** Undoes the approval of an Approved expense report so it can be reviewed and approved again. The report returns to Outstanding (submitted), or to Draft if the submitter approved it themselves or the workspace uses Bill.com. Requires Workspace Admin role, unless the agent is the approver who gave the final approval. On a workspace that uses Dynamic External Workflow approvals, only a Workspace Admin can unapprove. A report that has already been paid through Expensify cannot be unapproved.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Role capitalization: Roles must be lowercase in running text (only capitalize when quoting a UI label). Change "Workspace Admin role" to "workspace admin role" in both places on this line.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

## How to write instructions that take over a report as approver

**Goal:** Reassigns the agent as the current approver on a report that was routed to someone else, giving the agent the authority to approve or reject it. Requires workspace admin role.
**Goal:** Reassigns the agent as the current approver on a report that was routed to someone else, giving the agent the authority to approve or reject it. Requires Workspace Admin role.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Role capitalization: Use lowercase "workspace admin role" in running text (capitalize a role only when quoting a UI label).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

## How to write instructions that route reports to a specific approver

**Goal:** Routes a submitted report to a specific approver by email, replacing the current approver in the workflow. Requires workspace admin role.
**Goal:** Routes a submitted report to a specific approver by email, replacing the current approver in the workflow. Requires Workspace Admin role.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Role capitalization: Use lowercase "workspace admin role" in running text (capitalize a role only when quoting a UI label).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

## How to write instructions that export reports to accounting

**Goal:** Exports a report to the workspace's connected accounting integration (QuickBooks, Xero, NetSuite, Sage Intacct, etc.), or marks it as manually exported. Works for expense reports, invoices, and bills. Requires workspace admin role, except that the report's current approver (its manager) can export a report submitted to them, and an invoice's owner can export their own invoice.
**Goal:** Exports a report to the workspace's connected accounting integration (QuickBooks, Xero, NetSuite, Sage Intacct, etc.), or marks it as manually exported. Works for expense reports, invoices, and bills. Requires Workspace Admin role, except that the report's current approver (its manager) can export a report submitted to them, and an invoice's owner can export their own invoice.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Role capitalization: Use lowercase "workspace admin role" in running text (capitalize a role only when quoting a UI label).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

## How to write instructions that delete expense reports

**Goal:** Deletes an unsubmitted expense report the requester owns, after they confirm the deletion. Only draft reports can be deleted — a report that has been submitted, approved, reimbursed, or closed cannot be. Deleting an individual expense rather than a whole report is covered by the edit-expenses capability.
**Goal:** Deletes an unsubmitted expense report the requester owns, after they confirm the deletion. Only OPEN or draft reports can be deleted — a report that has been submitted, approved, reimbursed, or closed cannot be. Deleting an expense rather than a whole report is handled by EditExpense.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Internal language / vague wording: "Only OPEN or draft reports" exposes the raw internal status "OPEN", and "handled by EditExpense" names an internal action code. Per AI Retrieval rules (avoid internal language, use UI-exact labels), write member-facing terms instead, e.g. "Only unsubmitted (draft) reports can be deleted" and reference the edit-expenses capability by its article/feature name rather than "EditExpense".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

## How to write instructions that manage workspace settings and members

**Goal:** Inspects workspace configuration, answers membership questions, reads the Expensify Card limit and remaining spend for anyone allowed to see the Expensify Card, and — for workspace admins — adds or removes members, lists and assigns company cards from a connected card feed, and modifies workspace settings such as categories and approval rules.
**Goal:** Inspects Workspace configuration, answers membership questions, reads the Expensify Card limit and remaining spend for anyone allowed to see the Expensify Card, and — for Workspace Admins — adds or removes members, lists and assigns company cards from a connected card feed, modifies workspace settings such as categories and approval rules, and saves or replaces the workspace expense policy document from a PDF the admin attaches in chat.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generic term / role capitalization: "Inspects Workspace configuration" should be lowercase "workspace" (generic term), and "for Workspace Admins" should be lowercase "workspace admins" (role in running text). Capitalize these only when quoting a UI label.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

---

*This reference covers all 24 AI agent capabilities.*
*This reference covers all 24 AI Agent capabilities.*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "AI Agent" conflicts with the lowercase "AI agents" used in the sibling Triggers article and the lowercase "agent" usage throughout this article. Per the Deterministic Writing Rule, keep it consistent: "all 24 AI agent capabilities".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

---
title: Agent Trigger Reference
description: Every event your agent can react to, with ready-to-copy instruction phrases for your agent's prompt.
description: Every event your Agent can react to, with ready-to-copy instruction phrases for your agent's prompt.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "your Agent" conflicts with the lowercase "agent" used elsewhere in this file (including the next clause "your agent's prompt" and the keywords). Per the Deterministic Writing Rule, keep it lowercase in running text: "Every event your agent can react to".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

internalScope: Audience is workspace admins configuring agents. Covers all expose-level report_activity events. Does not cover chat message triggers or report-received triggers.
contentType: topic
order: 9
internalScope: Audience is workspace admins configuring Agents. Covers all expose-level report_activity events. Does not cover chat message triggers or report-received triggers.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "configuring Agents" conflicts with the lowercase "agents" used elsewhere. Keep it consistent and lowercase in running text: "Audience is workspace admins configuring agents."

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run


An agent reacts to expense report events when its instructions match what happened. This reference lists every event your agent can respond to, along with example phrases you can paste directly into your prompt.
An Agent reacts to expense report events when its instructions match what happened. This reference lists every event your agent can respond to, along with example phrases you can paste directly into your prompt.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "An Agent reacts..." but the same sentence continues "your agent can respond to". Per the Deterministic Writing Rule, be consistent. Use lowercase "agent" in running text: "An agent reacts to expense report events...".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

- When someone leaves a comment or message in a report
- When a user asks a question or leaves a note in the conversation
- When someone @mentions an agent in a report
- When someone @mentions an Agent in a report

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "@mentions an Agent" conflicts with the lowercase "agent" used in the surrounding bullets and article. Keep it lowercase: "When someone @mentions an agent in a report".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

---

*This reference covers all 127 events AI agents can react to.*
*This reference covers all 127 events AI Agents can react to.*

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Capitalization inconsistency: "AI Agents" conflicts with the lowercase "agent" usage throughout this article. Per the Deterministic Writing Rule, keep it consistent: "all 127 events AI agents can react to".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 48371238b4

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

internalScope: Audience is all members configuring agents. Covers all supported ManageReport sub-actions, AddComment, and AnalyzeExpenses. Does not cover read-only report context or NoResponse behavior.
contentType: topic
order: 8
internalScope: Audience is all members configuring Agents. Covers all supported ManageReport sub-actions, AddComment, and AnalyzeExpenses. Does not cover read-only report context or NoResponse behavior.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore the required article metadata

Restore contentType: topic and the explicit order values in both regenerated articles. The topic authoring spec requires contentType (docs/HELP_AUTHORING_GUIDELINES_TOPIC.md:91-104), while .github/scripts/createDocsRoutes.ts:120-130 reads order from this front matter and lines 184-186 place articles without it after every ordered article. Omitting these fields leaves the content taxonomy incomplete and causes future ordered additions to be inserted ahead of these references instead of preserving their assigned positions 8 and 9.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

---
title: Agent Capability Reference
description: Every action your agent can take, with ready-to-copy instruction phrases and disambiguation notes to avoid common mis-routings.
description: Every action your Agent can take, with ready-to-copy instruction phrases and disambiguation notes to avoid common mis-routings.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore sentence case for generic agent and role names

Use lowercase for generic references such as “agent,” “workspace,” and “workspace admin” throughout both regenerated files. docs/HELP_AUTHORING_GUIDELINES.md:50-57 requires generic terms and roles to remain lowercase unless they quote a UI label, but this regeneration capitalizes them in descriptions and running text without referring to UI labels, reintroducing a documented terminology violation in multiple locations.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like a pretty intentional change.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. The lowercase terms on main came from a deliberate review edit (5254375, "lowercase agent terms and drop Bill.com per review"). The generator output reverted it, so I restored lowercase "agent", "workspace", and "workspace admin" in both articles.


view run

## How to write instructions that delete expense reports

**Goal:** Deletes an unsubmitted expense report the requester owns, after they confirm the deletion. Only draft reports can be deleted — a report that has been submitted, approved, reimbursed, or closed cannot be. Deleting an individual expense rather than a whole report is covered by the edit-expenses capability.
**Goal:** Deletes an unsubmitted expense report the requester owns, after they confirm the deletion. Only OPEN or draft reports can be deleted — a report that has been submitted, approved, reimbursed, or closed cannot be. Deleting an expense rather than a whole report is handled by EditExpense.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep backend identifiers out of the delete-report guidance

Replace OPEN and EditExpense with the customer-facing “Draft” status and a descriptive reference to the edit-expenses capability. For readers using this help article, these backend identifiers do not correspond to visible UI or headings in the document, while the authoring rules require exact UI terminology and exclude implementation details customers do not need (docs/HELP_AUTHORING_GUIDELINES.md:13-21 and docs/HELP_AUTHORING_GUIDELINES_TOPIC.md:80-87).

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 0e5b71e. I restored the reviewed wording from main on top of the generated output.


view run

@github-actions

Copy link
Copy Markdown
Contributor

HelpDot Documentation Review

Overall Assessment

This PR makes small, targeted edits to two AI Agent reference articles (AI-Agent-Capabilities.md and AI-Agent-Triggers.md). The changes fall into three buckets: (1) capitalization changes for "agent" to "Agent" and role names, (2) minor content/accuracy updates (Bill.com draft behavior, OPEN/draft reports, EditExpense, workspace expense policy PDF capability), and (3) removal of non-spec frontmatter keys (contentType, order). The content updates are good, but several capitalization changes run against the governance rules and are applied inconsistently.

Scores Summary

  • Readability: 8/10 - Sentence structure and the ready-to-copy phrasing pattern remain clear and scannable. Minor ding for a few newly introduced internal/jargon tokens (OPEN, EditExpense) in member-facing prose.
  • AI Readiness: 7/10 - Task-based "How to..." headings and full feature names are intact, and trimming contentType/order aligns metadata with the mandatory spec (title, description, keywords, internalScope). However, the inconsistent "Agent"/"agent" usage within the same sentences weakens retrieval consistency.
  • Style Compliance: 4/10 - Several changes violate HELPSITE_NAMING_CONVENTIONS.md role and generic-term rules, and the "Agent" capitalization is applied inconsistently.

Key Findings

  • Role capitalization regression (must fix): "workspace admin role" to "Workspace Admin role" and "for workspace admins" to "for Workspace Admins" contradict the Roles rule: roles are lowercase in running text and capitalized only when quoting a UI label. "workspace admin" is explicitly listed as a lowercase role.
  • Generic-term capitalization regression (must fix): "Inspects workspace configuration" to "Inspects Workspace configuration" violates the Generic Terms rule, which requires "workspace" to be lowercase in running text.
  • Inconsistent "Agent" usage (must fix): The intro sentences now mix capitalizations within the same sentence ("An Agent acts... so your agent reliably does..."). This breaks the Deterministic Writing Rule (be exact and consistent). If "Agent" is the branded feature name, apply it uniformly; otherwise revert to lowercase.
  • Positive: Content accuracy improvements are solid - the Bill.com draft condition, the OPEN/draft deletion clarification, and the new workspace expense policy PDF capability are useful and well phrased.
  • Positive: Removing contentType and order brings the frontmatter in line with the mandatory metadata fields defined in HELP_AUTHORING_GUIDELINES.md Section 3.
  • Minor: Internal identifiers like "EditExpense" and "OPEN" are internal language; prefer member-facing phrasing (handled by the edit-expenses capability, unsubmitted or draft reports) per the AI Retrieval rule "Avoid internal language."

Recommendations

  • Revert role names to lowercase in running text: "workspace admin role", "for workspace admins".
  • Revert "Workspace configuration" to "workspace configuration".
  • Decide on a single casing for the feature term and apply it consistently throughout both files (including the mixed-case intro sentences). Confirm against src/languages/en.ts whether "Agent" is a branded name.
  • Replace internal tokens (OPEN, EditExpense) with member-facing descriptions.

Files Reviewed

  • AI-Agent-Capabilities.md - Good content updates; role/generic-term capitalization and inconsistent "Agent" usage need correction.
  • AI-Agent-Triggers.md - Metadata cleanup is fine; resolve the mixed "Agent"/"agent" usage in the intro.

Note: Detailed line-by-line feedback has been provided as inline comments.

@ishpaul777

Copy link
Copy Markdown
Contributor

@MelvinBot please check the review comments and fix

Re-apply lowercase agent and role terms, contentType and order front
matter, the Bill.com removal, and the customer-facing delete-report
wording from earlier review. Keep the new workspace expense policy
document capability.

Co-authored-by: Ishpaul Singh <ishpaul777@users.noreply.github.com>
@OSBotify

This comment has been minimized.

@MelvinBot

Copy link
Copy Markdown
Contributor Author

I fixed the review comments in 0e5b71e. The PR now changes only the new PDF policy-document content. All the other generated wording goes back to what reviewers approved in [No QA] Update AI Agent help docs.

  • Front matter: restored contentType: topic and order: 8 / order: 9.
  • Capitalization: "agent", "workspace", and "workspace admin" are lowercase again.
  • Internal terms: removed OPEN and EditExpense from the delete-reports section.
  • Bill.com: removed again, because reviewers dropped it as a defunct integration.

AI-Agent-Triggers.md now matches main exactly. I updated the PR description and replied to each review thread. All checks pass except Check independent approval, which needs a reviewer approval.


view run

dylanexpensify
dylanexpensify previously approved these changes Oct 22, 2026

@dylanexpensify dylanexpensify left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 🙌

Regenerated from Web-Expensify main. Keeps the reviewed wording on top of the generator output.

Co-authored-by: Rushat Gabhane <rushatgabhane@users.noreply.github.com>
@MelvinBot

Copy link
Copy Markdown
Contributor Author

I regenerated the AI Agent help docs from the latest backend generator output and pushed 81dca2d.

New in AI-Agent-Capabilities.md: the workspace settings capability now covers changing member roles, with the new example phrase "Make jane@example.com an admin on the workspace".

AI-Agent-Triggers.md has no new content. The other generated differences undo earlier review edits, so I kept the reviewed wording.

@OSBotify

Copy link
Copy Markdown
Contributor

A preview of your ExpensifyHelp changes have been deployed to https://b0d18b2d.helpdot.pages.dev ⚡️

Updated articles:

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants