Need "Last-Mile" help with "Topic of the Day" feature

I need help with understanding / implementing the final workflows of a “Topic of the Day” community-style feature of my mobile app.

How it works:
• Within the page for “Community”, a “Topic of the Day” subpage exists where users across the base can post their comments to the day’s topic. They can also see what other users have posted, and respond via publicly visible comments.
• Mechanics are most similar to a light version of Reddit or Facebook comments. Comments are limited to Facebook-style levels of depth––one top-level comment, one comment level below it (unlike Reddit, which can be near-infinitely deep). Comments are ranked by post time, not upvotes/downvotes. Likes/Emotion reacts are not included in this build.
• A user can tap the comment and see the corresponding user’s profile.
• Topics are fed from a spreadsheet-like list, which is populated by manual administrative input or crowdsourced. Every day, the previous day’s topic and comment “conversation” are wiped and cannot be user-referenced. In its place is a new topic from the queue, which users can respond to anew. Users may not post new Topics of the Day, but may submit ideas to an admin.

What I’ve got:
I’ve got “User”, “Conversation”, and “Message” as data types where users interact with the Topic of the Day. I’ve got the basic visual layout: Message (aka Comment), Topic of the Day headline, Multiline Input, Send button.

Where I’m stuck:
I don’t understand the top-level workflow that directs a user’s Multiline Input (Message/Comment to the Topic) to be posted to the Topic (Conversation). Currently, a user can tap to post the Message/Comment, but the content doesn’t show up in the Conversation. Also, on the Data side, the Message/Comment shows up, but they do not aggregate together in the same Conversation.

Can someone help me bridge this final gap? Happy to share access to the back-end.

1 Like

Hi,

Ah this is pretty simple.
Create a field on the message type called ‘Conversation’ and set it of type ‘Conversation’ by choosing it in the dropdown. Then when they create the new comment/message make sure the ‘Conversation’ data field is populated by the day’s conversation using a workflow.

Then all you do is create a repeating group that displays the messages with a filter on that only lists the messages who’s ‘conversation’ data field is equal to the conversation (I’d set the parent group to conversation so you can reference the parent group’s conversation in the filter using Do A Search For).

Does that make sense?
This way you are showing ownership over the message, as if saying this message is owned by this conversation, and then you can just call all of the messages ‘owned’ by that conversation topic in a repeating group :slight_smile:

Reece

1 Like

Was stuck before, trying it again… Do A Search For in the Repeating Group was the critical mistake. Now I need to sort so that it’s just the mass-conversation Messages that displayed, instead of the Messages of everyone’s 1:1 private conversations.