How to drip Topics based on set calendar dates

I’m attempting to use Discourse for a membership community where members gain access to a new block of content every week. The course has 34 modules.

Is it possible to create all the content at once, then setup a “drip” function to provide that content to the users automatically?

The content must be a Topic inside a Category they already have access to.

For example:
TOPIC: Week 1
TOPIC: Week 2

TOPIC: Week 17

Thank you!


You could schedule drafts to publish at a given time to a particular category, but this will be for the entire category, not per user.

If you’re looking for individual drip content based upon a member signup date, I don’t believe anything built-in or custom exists for this yet.


Are users all joining at the same time, or are individual user journeys going to be on separate timelines?


What I’ve done for teaching online with Discourse is to have a topic that is the syllabus that links to the relevant topic of the week. This only works if it’s not essential to withhold future weeks’ information.


Same time. It’s a “class” that is 2 semesters long. The next one starts September 1, 2019 and lasts 9 months.

1 Like

For this use-case, it is essential to withhold future weeks’ information.


Ok, and are these users coming from another system?

Is so, then your best bet is to publish this using groups. That way the content can be on your Discourse instance from day one, and the user journey for each cohort can be delivered on a strict schedule.

The above would need some kind of SSO platform, managing the group memberships, but it would make the rest of the process incredibly straightforward.

It’s going to create complexity either on the groups, or category permissions, but both would achieve this.


Thanks @Stephen. Here’s what I think I’ll be doing:

How to: How to create a Timed Topic


  • Create two Categories, “Training” and “Training - PENDING”
  • Set security so only Admin/Staff can view “Training - PENDING”
  • Publish all content as individual Topics inside “Training - PENDING”
  • Schedule each Topic to move to “Training” at the scheduled date

Super simple. There would just be one batch task needed for a tech on our team to create all the Topics each enrollment.

Is there a way to batch-load in Topics? For example, 17 individual topics with the same content. Like a “Upload Topic from CSV”?


Is that simpler than posting the topics once, and automating when users have the rights to see them?


It might be, @Stephen. Thanks for pressing the point here. I anticipate students will have discussions with their “Class” and wouldn’t want next year’s students to see the previous year’s class.

Perhaps I could hide comments on a Topic if someone wasn’t in the same Group?


  • Group Spring 2019 - commenting on Lesson 1
  • 9 months later, Fall 2019 group comments on Lesson 1 and does NOT see Spring 2019 comments

Is that possible?


@Stephen - I’m back to this question. Are you able to help?

1 Like

When I taught with discourse, I kept the syllabus in one category and had students respond in a section-specific category.


It’s not possible, no. You can hide categories based on group membership but not individual topics or posts.


Thanks. In Discourse providing this feature, I believe there would be greater utility, especially for membership-based websites.

A simple “post at a later date and time” feature would solve this for me! Happy to chip in $25 for a bounty (knowing that’s a small sum, but hopefully others want this too!).

1 Like

That feature already exists, but only for entire topics and not for individual posts.

My earlier response was to your question about hiding posts in a topic from individuals based on group membership.