Repository navigation
[$175] [Rules Revamp] Release 5: AI-assisted rule creation and unsupported-request capture #92743
Description
Background
R1–R3 built a consistent, centralized, contextual deterministic rules foundation. This release makes supported rules easier to author with AI and gives us a direct signal on rules customers want that we do not yet support.
An admin describes the rule they want in natural language; we parse it into the structured criteria/action of the existing creation UI and present it for confirmation, so the saved rule stays deterministic and understandable. The AI translates intent into a draft rule; it does not enforce anything itself.
Scope
- Add an AI-driven entry to the
New ruleflow: a prompt where the admin describes the desired rule. - Parse the prompt into the corresponding rule in the existing rules configuration UI for review and save.
- Support creating one rule at a time.
- Handle three non-happy paths via inline form errors under the prompt: unsupported rule, unintelligible input, and multiple rules in one prompt
Product and design details
Happy path: supported rule
The New rule entry offers "Create a new rule — describe your rule and Concierge will build it." The admin types a prompt (e.g. "Ask for a description for all meals expenses above 1000 USD") and taps Next. A Build rule manually affordance remains for the deterministic flow.
We map the prompt to the right rule type and pre-fill the existing configuration UI — for the example above, the Require fields branch with Category = Meals and Entertainment, Amount above $1,000, and Description checked. The admin sees this populated, deterministic rule and confirms via Save rule. The final saved object is identical to one built manually.
One rule at a time: we support exactly one rule per prompt. If a prompt implies multiple rules, we do not build any of them for now; we surface the inline error described below and ask the admin to split them. This will be resolved in a future release.
Error handling (inline, under the prompt)
All three non-happy paths render as an inline error beneath the prompt field (red-dot indicator + message), consistent with the mocks. The prompt text is preserved, and Build rule manually and Next remain available so the admin can edit and retry or switch to the manual flow. These are not separate full pages.
- Unsupported rule: the request is understood but the deterministic engine can't express it. Error copy names the unsupported area and notes it's on our radar, e.g. "Travel booking rules aren't supported yet — we're working on it. Please try a different rule for now." We capture the requested criteria/action and forward the request and use case to the product team for prioritization. Where relevant, we can also encourage the admin to create a custom agent that can enforce it.
- Unintelligible input: we can't parse the input into a legible rule. Error copy invites a clearer phrasing with an example, e.g. "Try phrasing your rule like: if expenses have a value over $100, then require a receipt."
- Multiple rules in one prompt: the prompt describes more than one rule. We build none and show, e.g. "One rule at a time, please — try describing a single rule, like: block gift card purchases." The admin edits the prompt down to a single rule and retries; they can create the rest after saving this one.
Determinism and confirmation
AI only drafts; the admin always sees and confirms the structured rule before save. No rule is saved without an explicit confirmation step.
Examples
- "Ask for a description for all meals expenses above 1000 USD" → pre-filled Require fields rule (Meals and Entertainment, above $1,000, Description checked) shown for confirmation, then saved.
- "Block retail on all cards" → pre-filled Restrict card spend rule for confirmation.
- "Block travel bookings if it's over $2,000" → inline unsupported-rule error ("Travel booking rules aren't supported yet…"); request captured and forwarded to product.
- "dsadadsadafa" → inline unintelligible-input error with a phrasing example.
- "Block gift cards and require receipts over $50" → inline multiple-rules error ("One rule at a time, please…"); nothing is built until the admin narrows to a single rule.
Issue Owner
Current Issue Owner: @Krishna2323Upwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~022114709030128034923
- Upwork Job ID: 2114709030128034923
- Last Price Increase: 2026-10-26
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsNo status
Activity
melvin-bot commentedon Jun 4, 2026
Current assignee @dubielzyk-expensify is eligible for the NewFeature assigner, not assigning anyone new.
61 remaining items
MelvinBot commentedon Oct 25, 2026
I updated Remove the describeRule beta to keep Describe agent rule on New rule.
Typecheck passes, and
RulesNewPageDescribeRuleTestpasses 17/17, including new checks for this option.[-][Rules Revamp] Release 5: AI-assisted rule creation and unsupported-request capture[/-][+][$175] [Rules Revamp] Release 5: AI-assisted rule creation and unsupported-request capture[/+]melvin-bot commentedon Oct 26, 2026
Job added to Upwork: https://www.upwork.com/jobs/~022114709030128034923
melvin-bot commentedon Oct 26, 2026
@Krishna2323 / @situchan
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.20-5 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
Contributor+ Checklist: The following checklist (instructions) needs to be completed before this issue can be closed:
If no checklist is needed for this issue, use the K2 [no checklist button].
JmillsExpensify commentedon Oct 27, 2026
Regression period.