
syncfusion-aspnetcore-chat-ui
Implement the Syncfusion ASP.NET Core Chat-UI control for interactive, real-time messaging components. Use this skill when implementing chat interfaces, message management, file uploads and attachments, appearance customization with templates, message events, typing indicators, or internationalization and RTL layouts in ASP.NET Core applications.
- Installs
- 105
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-chat-ui- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-aspnetcore-chat-ui automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Syncfusion ASP.NET Core Chat-UI Control
Overview
The Chat-UI component provides a complete conversational interface with real-time messaging, file attachments, user presence, and extensive customization options. This skill guides you through implementing chat interfaces for customer support, team collaboration, and interactive applications using ASP.NET Core tag helpers and Razor pages.
The Chat-UI component is an interactive messaging interface featuring:
- Rich Message Support: Text content, pinned messages, threaded replies, message forwarding
- User Management: Multi-user conversations, presence status, user configuration
- File Attachments: Upload, preview, download with file type/size restrictions
- Event System: Created, message send, user typing, attachment events
- Templates: Customizable UI for empty chat, messages, typing indicator, suggestions, footer
- Appearance: Configurable placeholder, width, height, CSS classes
- Timestamps: Show/hide timestamps with customizable format
- Advanced Features: Compact mode, globalization, RTL support, speech-to-text
Quick Start Example
@using Syncfusion.EJ2.InteractiveChat;
<div style="height:400px; width:450px">
<ejs-chatui id="chatUI">
<e-chatui-user id="user1" user="Albert"></e-chatui-user>
<e-chatui-messages>
@foreach (var message in ViewBag.ChatMessagesData)
{
<e-chatui-message text="@message.Text" author="@message.Author"></e-chatui-message>
}
</e-chatui-messages>
</ejs-chatui>
</div>
Corresponding C# Controller:
using Syncfusion.EJ2.InteractiveChat;
public ActionResult Default()
{
var currentUser = new ChatUIUser() { Id = "user1", User = "Albert" };
var otherUser = new ChatUIUser() { Id = "user2", User = "Michale Suyama" };
var messages = new List<ChatUIMessage>()
{
new ChatUIMessage() { Text = "Hi Michale, are we on track?", Author = currentUser },
new ChatUIMessage() { Text = "Yes, all set!", Author = otherUser }
};
ViewBag.ChatMessagesData = messages;
return View();
}
Documentation Navigation
Getting Started
📄 Read: references/getting-started.md
- NuGet package installation and dependencies
- ASP.NET Core project setup with Razor pages
- Tag helper registration and configuration
- CDN stylesheet and script setup
- Script manager registration
- Basic Chat-UI implementation
- Initial user and message configuration
Message Configuration
📄 Read: references/messages-configuration.md
- Message model setup and properties
- Adding and managing text messages
- Message configuration (ID, text, author, timestamp)
- Pinned messages for important conversations
- Reply-to for threaded conversations
- Forwarded messages and message tracking
- Compact mode for streamlined layouts
User Configuration
📄 Read: references/user-configuration.md
- ChatUIUser model setup and properties
- User identity configuration
- Setting current user context
- Multi-user support and management
- User presence and status indicators
- Avatar configuration and styling
Appearance & Styling
📄 Read: references/appearance-styling.md
- Placeholder text customization
- Width and height configuration
- CSS class application and customization
- Component-level styling
- Theme customization approaches
- Responsive design patterns
Events & Interactions
📄 Read: references/events-interactions.md
- Created event for initialization
- Message send event handling
- User typing event detection
- Attachment upload events (before, success, failure)
- Attachment removal and click events
- Event binding patterns and best practices
Methods & API
📄 Read: references/methods-api.md
- addMessage method for programmatic message addition
- updateMessage method for editing existing messages
- scrollToBottom method for view navigation
- Real-time integration with SignalR
- Best practices for performance and error handling
Templates & Customization
📄 Read: references/templates-customization.md
- Empty chat template for initial states
- Message custom templates with jsrender
- Time break template for message organization
- Typing indicator template customization
- Suggestion template for auto-complete
- Footer template for custom input areas
- Advanced template patterns and styling
File Attachments
📄 Read: references/file-attachments.md
- Enable attachment support with enableAttachments
- Configure attachment settings
- Save and remove URL endpoints
- File type restrictions (allowedFileTypes)
- File size limits (maxFileSize)
- Save format options (Blob vs Base64)
- Drag-and-drop support configuration
- Server path and upload handling
Header & Footer
📄 Read: references/header-footer.md
- Show/hide header with showHeader property
- Header text configuration and display
- Header icon styling with headerIconCss
- Show/hide footer with showFooter property
- Footer template customization
- Input area configuration
Timestamps & Time Breaks
📄 Read: references/timestamps-timebreaks.md
- Show/hide timestamps with showTimeStamp
- Timestamp format customization (timeStampFormat)
- Time break separators for message organization
- Date-wise message grouping
- Timestamp template patterns
Typing Indicators
📄 Read: references/typing-indicator.md
- Show/hide typing indicator
- Multi-user typing display
- Typing indicator template customization
- User presence detection
- Styling typing indicator UI
Mentions & User References
📄 Read: references/mentions-integration.md
- Configure mentionable users
- Mention trigger character customization
- Predefined mentions in messages
- Mention selection and events
- Mention item template and styling
Globalization & RTL
📄 Read: references/globalization-rtl.md
- Localization and multi-language support
- Setting culture and locale
- RTL (Right-to-Left) layout support
- Language-specific templates
- Speech-to-text localization
Toolbar Configuration
📄 Read: references/toolbar-configuration.md
- Header toolbar configuration and items
- Message toolbar settings and customization
- Toolbar item configuration and events
- Custom toolbar actions and handlers
- Toolbar visibility and styling
Advanced Features
📄 Read: references/advanced-features.md
- Load on demand with scroll handling
- Auto-scroll to bottom behavior
- Enable persistence for state management
- Performance optimization techniques
- Server-side data loading strategies
Suggestions Feature
📄 Read: references/suggestions-feature.md
- Enable suggestions with suggestions property
- Suggestion template customization
- Context-based suggestion filtering
- Suggestion selection and handling
- Custom suggestion UI and styling
Common Patterns
Create a Basic Chat Interface
<div style="height:400px; width:500px">
<ejs-chatui id="chatUI"
placeholder="Type a message..."
showHeader="true"
headerText="Support Chat">
<e-chatui-user id="user1" user="Support Agent"></e-chatui-user>
</ejs-chatui>
</div>
Add Messages with Events
<ejs-chatui id="chatUI" messageSend="onMessageSend">
<e-chatui-user id="user1" user="Albert"></e-chatui-user>
<e-chatui-messages>
@foreach (var message in ViewBag.ChatMessagesData)
{
<e-chatui-message text="@message.Text"
author="@message.Author"
timeStamp="@message.TimeStamp"></e-chatui-message>
}
</e-chatui-messages>
</ejs-chatui>
<script>
function onMessageSend(args) {
// Handle message send event
console.log("Message sent:", args);
}
</script>
Enable File Attachments
<ejs-chatui id="chatUI" enableAttachments="true">
<e-chatui-user id="user1" user="Albert"></e-chatui-user>
<e-chatui-attachmentsettings
saveUrl=@Url.Content("https://services.syncfusion.com/aspnet/production/api/FileUploader/Save")
removeUrl=@Url.Content("https://services.syncfusion.com/aspnet/production/api/FileUploader/Remove")
maxFileSize="5000000"
allowedFileTypes=".pdf,.docx,.xlsx">
</e-chatui-attachmentsettings>
</ejs-chatui>
Key Properties
| Property | Type | Purpose |
|---|---|---|
id | string | Unique identifier for the ChatUI component |
placeholder | string | Input field hint text (default: "Type your message…") |
width | string | Chat UI width (default: 100%) |
height | string | Chat UI height (default: 100%) |
showHeader | boolean | Display header section (default: true) |
headerText | string | Header title/name display |
headerToolbar | object | Configure toolbar items in header |
showFooter | boolean | Display input footer (default: true) |
showTimeStamp | boolean | Display message timestamps (default: true) |
timeStampFormat | string | Timestamp format pattern (default: "dd/MM/yyyy hh:mm a") |
cssClass | string | CSS classes for styling |
enableAttachments | boolean | Enable file upload support (default: false) |
enableCompactMode | boolean | Align all messages left (default: false) |
loadOnDemand | boolean | Enable lazy loading of messages (default: false) |
autoScrollToBottom | boolean | Automatically scroll to latest message (default: true) |
enablePersistence | boolean | Persist chat state across sessions (default: false) |
suggestions | array | Quick reply suggestions for users |
messageToolbarSettings | object | Configure message-level toolbar actions |
Common Use Cases
Use Case 1: Customer Support Chat
- Multiple support agents handling customer queries
- File attachment for screenshots/documents
- Message history with timestamps
- Typing indicators to show agent engagement
- Header with support agent name and status
Use Case 2: Team Collaboration
- Mention team members with @ mentions
- Pin important discussion points
- Forward messages for reference
- Message editing and deletion
- Multi-user presence indicators
Use Case 3: Multilingual Support
- RTL support for Arabic/Hebrew languages
- Localized UI strings via globalization
- Culture-specific timestamp formats
- Support for multiple character sets
FAQ
What does the syncfusion-aspnetcore-chat-ui skill do?
Implement the Syncfusion ASP.NET Core Chat-UI control for interactive, real-time messaging components. Use this skill when implementing chat interfaces, message management, file uploads and attachments, appearance customization with templates, message events, typing indicators, or internationalization and RTL layouts in ASP.NET Core applications.
How do I install syncfusion-aspnetcore-chat-ui?
Run npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-chat-ui in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-aspnetcore-chat-ui/ (personal) or .claude/skills/syncfusion-aspnetcore-chat-ui/ (project).
Which AI agents can use syncfusion-aspnetcore-chat-ui?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-aspnetcore-chat-ui safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-aspnetcore-chat-ui?
It is published by syncfusion in syncfusion/aspnetcore-ui-components-skills. It has 105 recorded installs.
More from syncfusion/aspnetcore-ui-components-skills
syncfusion-aspnetcore-charts
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetcore-common
syncfusion/aspnetcore-ui-components-skills
CONFIGURATION GUIDE — Assist with Syncfusion ASP.NET Core EJ2 components setup, localization, and version compatibility. Use when: installing Syncfusion packages, configuring globalization/localization, selecting compatible versions.
syncfusion-aspnetcore-license
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetcore-grid
syncfusion/aspnetcore-ui-components-skills
Implements Syncfusion ASP.NET Core Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids, state persistence, and advanced data management features for data-intensive applications.
syncfusion-aspnetcore-security
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-aspnetcore-gantt-chart
syncfusion/aspnetcore-ui-components-skills
Open the skill to read its SKILL.md instructions.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.