Conversation List
An Apple Messages-style inbox that lists all of a user's conversations. It automatically detects which participant is the "other person" based on who's logged in, and shows their name and avatar without any conditional logic on your end.
Before You Begin
You need a Conversations collection with fields for User 1 ID, User 1 Name, User 1 Image URL, User 2 ID, User 2 Name, and User 2 Image URL.
For group conversations, your collection should also have a Group Name and Group Image Property field.
Each conversation row can show two lines of text below the participant name β map these to any fields you like (e.g., last message preview and timestamp).
Getting Started
Map your Conversation Fields
Open Conversation Fields and map your data:
User1 ID, User1 Name, User1 Image URL β your User 1 fields
User2 ID, User2 Name, User2 Image URL β your User 2 fields
Text Line 1 β typically a last message preview
Text Line 2 β typically a timestamp or other metadata
Group Name / Group Image URL β for group conversations (when set, these override the user name logic)
Read By User IDs β a comma-separated text field of user IDs who have read the conversation β if the logged-in user's ID is not in this string, an unread badge appears on the row
Settings
Name Style
Controls the font size, weight, and color of the participant's name on each row.
Line 1 Style / Line 2 Style
Independently control the font size and color of each text line below the name. Line 1 is typically used for a message preview; Line 2 for a timestamp or other detail.
Avatar Style
Avatar Size β The diameter of the participant avatar (28β80, default: 48).
Avatar Fallback Color β Background color shown when no avatar image is available.
Avatar Initials Color β Color of the initials shown as a fallback.
Row Style
Row Background Color β Background of each conversation row.
Selected Row Color β Tint applied when a row is pressed (brief tap feedback).
Divider Color / Show Divider β Hairline separators between rows.
Row Height β Height of each conversation row (50β100, default: 72).
Unread Badge Color β The dot color for unread conversations.
How Participant Detection Works
The component compares User 1 ID to Logged In User ID. If they match, it shows User 2's name and avatar. If they don't match, it shows User 1's name and avatar. For group conversations, if Group Name is set, it always shows that instead.
Tips
Sort your Conversations collection by a Last Message At timestamp field (descending) so the most recent conversations appear at the top β just like a real inbox.
Store a participant_key field on each conversation (a sorted, comma-separated string of participant IDs). Filter on this with the Conversation Action Button to prevent duplicate conversations.
The Read By User IDs field is a simple text field β when you send a message, append the sender's ID to this string. When other users open the conversation, append their ID too. Clear it when a new message arrives.
Use the Display Name and Display Image URL Magic Text outputs to pre-populate the Chat Header Bar on the conversation screen.
Need Help?
Visit forum.adalo.com to ask questions or share what you've built.
Last updated
Was this helpful?