5895 - Add python railengine example (Customer Support Agent)#11
Merged
Conversation
…lders for API keys and tokens (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…endencies and scripts (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… authentication and billing issues (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…on (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…omer support module (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ge, and security considerations (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ket triage logic with Railengine and Railtracks (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…definition, ticket ingestion, and webhook handling. Implemented models for support tickets and triage assessments, along with tools for searching and processing tickets in Railengine. Enhanced Streamlit UI for ticket management and triage output display. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…age Agent in Python examples and enhance the description of the Railengine Python SDK. Added links for better navigation and clarity on usage. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…riage Agent, including a link to the detailed setup in the customer-support directory. Improved clarity on usage and functionality. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…onality. Updated `pyproject.toml` to include `python-dotenv` dependency and modified script paths for CLI commands. Introduced new modules for Streamlit UI, ticket ingestion, and triage services, along with a webhook receiver for Railengine. Improved README for clarity on setup and usage. Added models for support tickets and triage assessments, and implemented repository layer for ticket management. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… allowed ticket status values and improving demo flow instructions. Refactor ticket status handling in the dashboard and implement Kanban view for better ticket management. Introduce new methods for listing all tickets and updating ticket statuses in the repository and services. Update ticket model to support new status values. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ing ticket details and updating the environment metrics display within a collapsible expander. This improves user experience by organizing information more effectively. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…the customer support dashboard. Enhanced instructions by specifying that users can click on a card subject to view ticket details in a dialog, improving usability and navigation. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…to clarify ticket triage processes and adding a new Triage Agent section. Refactor Streamlit app to include the Triage Agent in the multipage entry and improve ticket handling in services. Introduce methods for batch processing of tickets in the Triage Service, enhancing overall usability and functionality. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ructions for the Triage Agent, enhancing user experience. Update triage_agent.py to use the latest OpenAI model version (gpt-5.4) for improved performance. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ions with the triage agent. Introduce _flow_reply_text helper function to format responses. This enhances user interaction by allowing conversational replies while maintaining ticket context. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…nteract with the triage lead for ticket prioritization and inquiries. Update triage_agent.py to include a new build_triage_chat_agent function utilizing the latest OpenAI model (gpt-5.4). Enhance triage_agent_page.py to support chat interactions, including message display and input handling, improving user experience in managing support tickets. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ty by formatting TICKET_STATUSES as a multi-line tuple. This change enhances code clarity and maintainability. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ility. Adjusted the description and print statement to multi-line format, enhancing code clarity. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…strings into multi-line statements. This change enhances clarity in the Streamlit UI components for better maintainability. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…g import statements and captions into multi-line statements. This change enhances clarity and maintainability of the Streamlit UI components. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ng long statements into multi-line expressions. This change enhances clarity and maintainability of the Streamlit UI components. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… by formatting them into a multi-line structure. This change enhances clarity and maintainability of the repository layer. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…eadability by formatting long parameter lists into multi-line structures. This change enhances clarity and maintainability of the codebase. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… the return statement details into a multi-line structure. This change enhances clarity and maintainability of the code. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…and refactor a comment in triage_agent.py for improved readability by formatting a long line into a multi-line structure. This enhances clarity and maintainability of the documentation and code. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… clarity and removing unused CLI modules (ingest.py and triage.py). This streamlines the codebase and enhances maintainability. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…cture to enhance maintainability of the customer support module. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ion instructions, implementing full-width layout in Streamlit, and adding a pipeline stages visualization. Refactor ingest paths method to return results and improve error handling in fixture seeding. This improves usability and maintainability of the application. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ith a new Agent page, updating README for clearer instructions, and enhancing the pyproject.toml dependencies. This improves usability and maintainability of the application. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…unction, introducing a new render_app_toolbar function for improved UI consistency, and updating button labels with icons for better user experience. This enhances the maintainability and usability of the customer support module. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…m the render_ticket_subject_button function and updating its usage in the agent page and triage assessment. This enhances code clarity and maintains consistent button styling across the application. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ng a new Search page and SearchService for querying the Railengine index. Update README for clearer instructions on using the search feature, and enhance existing pages to reflect the new functionality. This improves usability and maintainability of the application. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…he mappers file and updating the TicketRepository to directly parse tickets from storage. This enhances code clarity and maintainability by streamlining the ticket retrieval process. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…readability. This enhances code clarity by breaking long lines into multiple lines. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…r needed. This simplifies the project structure and enhances maintainability. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… in customer support module. This improves user guidance for setting up the support ticket ingestion system. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…structure in the customer support module. This improves user guidance for navigating the application and understanding the code organization. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…root" and enhance clarity in the project structure section. This improves user understanding of the directory layout. (#5895) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Amir-R25
approved these changes
May 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Adds a Python sample that ingests support tickets into Railengine (json), provides a real-time kanban dashboard that can update tickets status, search support tickets, agent chat with data, and triages cases with a Railtracks agent (structured output plus optional chat), with Streamlit UI and fixtures.
Screenshots
kanban of customer support tickets
Railengine provides real-time retrieval and upserts tickets status
ingestion walkthrough
Take json representations of your customer tickets and ingest them. Can easily change to csv/different data source.
full text search
agent chat with customer support tickets
railtracks visualizer
If you use the
railtrackscli, you can visualize and debug all the agent workflowsRationale
Demonstrates a realistic support workflow on Railengine (ingest, index/vector search, hot storage) combined with Railtracks agents for triage prioritization and draft replies, with a local UI for demos without exposing production credentials publicly.