Finance
Billing & Invoice Assistant
Triages billing questions - invoices, failed payments, plan changes - and drafts a clear resolution reply.
How the data flows
Requests move between your backend and the AI workflows automatically. Here's the exact path a request takes.
AI workflow
billing_triage_workflow
Classifies the billing inquiry and starts resolution
Backend event
inquiry_received
Backend event
resolution_ready
AI workflow
billing_resolution_workflow
Drafts a clear resolution reply for the customer
What you get
Every template is built from two kinds of pieces: Workflows and Response Formats.
Workflow
billing_triage_workflow
Classifies the billing inquiry and starts resolution
Workflow
billing_resolution_workflow
Drafts a clear resolution reply for the customer
Response format
billing_triage_response
Classification of the billing inquiry
Response format
billing_resolution_response
Drafted resolution and customer reply
Details
The full specification of each workflow, with plain-English explanations. Everything below is set in the downloaded file and can be changed after import.
billing_triage_workflow
Classifies the billing inquiry and starts resolution
The primary model plus automatic fallback models if the primary is unavailable.
The structured JSON this workflow returns. Fields are defined by you and enforced by ModelRiver.
Fields you include in each request so the workflow can personalise its answer.
Identical requests are answered from memory within this window, which is faster and cheaper.
Steps that run automatically around this workflow, in order.
Runs live against your connected AI provider.
billing_resolution_workflow
Drafts a clear resolution reply for the customer
The primary model plus automatic fallback models if the primary is unavailable.
The structured JSON this workflow returns. Fields are defined by you and enforced by ModelRiver.
Fields you include in each request so the workflow can personalise its answer.
Runs live against your connected AI provider.
How to use it
- 1
Download the template
The file is a portable JSON bundle - safe to share and easy to read.
- 2
Open a project in ModelRiver
Sign in, pick a project, and make sure the AI providers used by this template are connected. You can connect them from the Providers section.
- 3
Import it
Open the Import button in your project, paste or upload the file, review the preview, and confirm. Everything is created atomically, so nothing is overwritten. How import & export works
Template file
Technical users can inspect the raw bundle below.
View full template JSON
{
"version": 1,
"structures": [
{
"name": "billing_triage_response",
"description": "Classification of the billing inquiry",
"example": {
"inquiry_type": "failed_payment",
"urgency": "high",
"customer_intent": "wants to update payment method",
"needs_agent": false
},
"schema": {
"type": "object",
"properties": {
"inquiry_type": {
"type": "string",
"enum": [
"invoice_question",
"failed_payment",
"plan_change",
"refund_question",
"other"
]
},
"urgency": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"customer_intent": {
"type": "string"
},
"needs_agent": {
"type": "boolean"
}
},
"required": [
"inquiry_type",
"urgency",
"customer_intent",
"needs_agent"
],
"additionalProperties": false
}
},
{
"name": "billing_resolution_response",
"description": "Drafted resolution and customer reply",
"example": {
"resolution_summary": "Customer's payment failed; the card was declined.",
"customer_reply": "Your payment didn't go through - please update your card and we'll retry automatically.",
"next_steps": [
"Update payment method in settings",
"Contact support if the charge appears twice"
]
},
"schema": {
"type": "object",
"properties": {
"resolution_summary": {
"type": "string"
},
"customer_reply": {
"type": "string"
},
"next_steps": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"resolution_summary",
"customer_reply",
"next_steps"
],
"additionalProperties": false
}
}
],
"workflows": [
{
"name": "billing_triage_workflow",
"description": "Classifies the billing inquiry and starts resolution",
"provider": "openai",
"model": "gpt-5.6-terra",
"backups": [
{
"provider": "anthropic",
"model": "claude-haiku-4-5-20251001"
}
],
"request_type": "chat",
"system_instructions": "Classify the billing inquiry type, set urgency, and summarize what the customer wants. Flag anything that needs a finance or support agent.",
"structure": "billing_triage_response",
"customer_fields": [
"customer_id",
"invoice_number",
"customer_message"
],
"test_mode": false,
"cache_window_seconds": 600,
"backend_pipeline": {
"enabled": true,
"events": [
{
"name": "inquiry_received"
},
{
"name": "draft_resolution",
"target_workflow": "billing_resolution_workflow"
},
{
"name": "resolution_ready"
}
]
}
},
{
"name": "billing_resolution_workflow",
"description": "Drafts a clear resolution reply for the customer",
"provider": "openai",
"model": "gpt-5.6-terra",
"backups": [
{
"provider": "anthropic",
"model": "claude-haiku-4-5-20251001"
}
],
"request_type": "chat",
"system_instructions": "Write a clear, reassuring reply for the billing inquiry. Summarize the resolution, include next steps the customer can take, and never promise amounts or refunds that were not provided in the message.",
"structure": "billing_resolution_response",
"customer_fields": [
"customer_id",
"invoice_number",
"customer_message"
],
"test_mode": false
}
]
}Looking for something else?
More templates are on the way. In the meantime, you can build your own workflows from scratch in the ModelRiver console.