Repository navigation
Conversation
Co-authored-by: Ishpaul Singh <ishpaul777@users.noreply.github.com>
|
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: Then you can close this PR and open a new one from your fork. |
This comment has been minimized.
This comment has been minimized.
|
@MelvinBot fix failing ci check and mark it ready for review |
Co-authored-by: Ishpaul Singh <ishpaul777@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
Product reviewer checklist:
For more detailed instructions on completing this checklist, see How do I review a HelpDot PR? |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@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. |
There was a problem hiding this comment.
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".
| 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. |
There was a problem hiding this comment.
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."
|
|
||
| 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. | ||
|
|
There was a problem hiding this comment.
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...".
| ## 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. |
There was a problem hiding this comment.
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.
| ## 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. |
There was a problem hiding this comment.
Role capitalization: Use lowercase "workspace admin role" in running text (capitalize a role only when quoting a UI label).
| ## 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. |
There was a problem hiding this comment.
Role capitalization: Use lowercase "workspace admin role" in running text (capitalize a role only when quoting a UI label).
| ## 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. |
There was a problem hiding this comment.
Role capitalization: Use lowercase "workspace admin role" in running text (capitalize a role only when quoting a UI label).
| ## 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. |
There was a problem hiding this comment.
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".
| ## 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. |
There was a problem hiding this comment.
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.
| --- | ||
|
|
||
| *This reference covers all 24 AI agent capabilities.* | ||
| *This reference covers all 24 AI Agent capabilities.* |
There was a problem hiding this comment.
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".
| --- | ||
| 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. |
There was a problem hiding this comment.
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".
| 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. |
There was a problem hiding this comment.
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."
|
|
||
| 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. | ||
|
|
There was a problem hiding this comment.
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...".
| - 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 |
There was a problem hiding this comment.
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".
| --- | ||
|
|
||
| *This reference covers all 127 events AI agents can react to.* | ||
| *This reference covers all 127 events AI Agents can react to.* |
There was a problem hiding this comment.
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".
There was a problem hiding this comment.
💡 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. |
There was a problem hiding this comment.
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 👍 / 👎.
| --- | ||
| 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. |
There was a problem hiding this comment.
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 👍 / 👎.
There was a problem hiding this comment.
Seems like a pretty intentional change.
There was a problem hiding this comment.
| ## 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. |
There was a problem hiding this comment.
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 👍 / 👎.
HelpDot Documentation ReviewOverall AssessmentThis 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
Key Findings
Recommendations
Files Reviewed
Note: Detailed line-by-line feedback has been provided as inline comments. |
|
@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>
This comment has been minimized.
This comment has been minimized.
|
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.
|
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>
81dca2d
|
I regenerated the AI Agent help docs from the latest backend generator output and pushed 81dca2d. New in
|
|
A preview of your ExpensifyHelp changes have been deployed to https://b0d18b2d.helpdot.pages.dev ⚡️ Updated articles: |
Explanation of Change
This updates the AI Agent Capabilities reference article with the latest changes from the backend generator:
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: topicandorderfront matter stay in place.OPENandEditExpense.AI-Agent-Triggers.mdhas 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.
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.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari