Composing Messages
Basic Text Messages
The simplest way to communicate is through text messages:1
Navigate to a Chat
Open any 1-on-1 chat, group conversation, or report thread.
2
Type Your Message
Click the message input field at the bottom and start typing.
3
Send
Press Enter (or Cmd/Ctrl + Enter) to send. Your message appears immediately.
Messages are sent optimistically—they appear in your chat immediately and sync to the server in the background. If you’re offline, they’ll send automatically when reconnected.
Message Architecture
Here’s how messages are created under the hood:Text Formatting
New Expensify supports rich text formatting using markdown:Supported Markdown
- Basic Formatting
- Lists
- Links
- Code Blocks
- Bold text
- Italic text
Strikethroughcode
Parsing Implementation
Markdown is parsed using the ExpensiMark parser:Attachments
Uploading Files
Attach files to your messages in several ways:- Drag and Drop
- File Picker
- Mobile Camera
Drag files from your computer directly into the message composer. Supported file types:
- Images (PNG, JPG, GIF, WebP)
- PDFs
- Documents (limited support)
File Upload Code
Editing Messages
Edit your own messages to fix typos or update information:1
Access Edit Mode
Hover over your message and click the edit icon (or long-press on mobile).
2
Make Changes
Update the text. The original message is preserved in history.
3
Save
Click Save or press Enter. An “edited” indicator appears on the message.
Deleting Messages
Remove messages from the conversation:1
Select Message
Hover over the message you want to delete.
2
Delete
Click the delete icon (trash can) and confirm.
3
Result
The message is replaced with “[Deleted message]” placeholder.
Thread Management
Conversation Threads
Every report and expense has its own conversation thread:Expense Threads
Discuss individual expenses with approvers and team members.
Report Threads
Coordinate on entire expense reports during the approval process.
Transaction Threads
Comment on specific transactions within a report.
Task Threads
Discuss task details and progress updates.
Thread Structure
Typing Indicators
See when other participants are typing:Message Status
Understand message delivery states:Sending
Gray checkmark—message is being sent to server
Sent
Green checkmark—message successfully delivered
Failed
Red indicator—message failed to send (tap to retry)
Best Practices
Use Markdown Wisely
Use Markdown Wisely
Format important information with bold or italic text, but don’t overdo it. Clear, concise writing is more effective than heavy formatting.
Keep Threads Organized
Keep Threads Organized
Reply in the correct thread context. Don’t start new conversations for follow-up questions on existing expenses or reports.
Edit Instead of Delete
Edit Instead of Delete
If you need to correct a message, edit it rather than deleting and reposting. This preserves conversation context.
Attach Files Thoughtfully
Attach Files Thoughtfully
Upload receipts and documents directly to expense entries rather than sharing them in chat when possible.
Next Steps
Task Management
Learn how to create and manage tasks from chat conversations
Mentions & Notifications
Master @mentions and notification settings
Chat Overview
Back to chat features overview
