# Duplicating an entire topic

**URL:** https://meta.discourse.org/t/duplicating-an-entire-topic/386513
**Category:** Support
**Created:** [October 23, 2025, 9:46am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513 "2025-10-23T09:46:58Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![nordize](https://avatars.discourse-cdn.com/v4/letter/n/c68b51/32.png) [@nordize](https://meta.discourse.org/u/nordize)
#### Post date: [October 23, 2025, 9:46am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/1 "2025-10-23T09:46:58Z")

</div>

I know it has been asked/discussed before. I believe my use case is legitimate, but perhaps not wide spread enough to mandate devs implementing a new feature, so I’m hoping for the next best suggestion from experts here … happy with the Rails console too if someone points me to the functions and calls I should use.

We are a team of people with various levels of trust. Some post in restricted categories. We need to write a guide for newcomers, and part of the guide would include an example of a full topic from one of those restricted forums (and I know this sounds conflicting), chosen from the topics that we can afford the lower trust level members to see. However, I don’t want to move the topic from its original category, but duplicate it. I want the post revisions too. Manually creating replies and copying over the contents of each post + changing ownership would be the next best solution, but I’d quite like to have the post revisions too.

~~As an admin, can I change the author of a post to any specific user using the GUI?~~

If I wanted to do it in the Rails console, could a kind soul indicate which functions and calls to use to copy a topic’s posts as a set of replies to an existing topic?

---

<div class="post-metadata">

### Author: ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)
#### Post date: [October 23, 2025, 9:50am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/2 "2025-10-23T09:50:48Z")

</div>

> [@nordize](#):
>
> As an admin, can I change the author of a post to any specific user using the GUI?

Yes. Admin wrench \> Change ownership.

> [@Changing ownership of posts](https://meta.discourse.org/t/changing-ownership-of-posts/276672):
>
> bookmark This guide explains how to change the ownership of posts in Discourse. It covers methods for changing ownership of single posts, multiple posts within a topic, and all posts by a specific user. person_raising_hand Required user level: Administrator (or users with permission, see below) warning By default only administrators have the ability to change post ownership. There are two site settings to extend this: moderators\_change\_post\_ownership — set to true to allow all mode…

I wonder if creating topics is possible with a TC 🤔.

---

<div class="post-metadata">

### Author: ![nordize](https://avatars.discourse-cdn.com/v4/letter/n/c68b51/32.png) [@nordize](https://meta.discourse.org/u/nordize)
#### Post date: [October 23, 2025, 10:00am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/3 "2025-10-23T10:00:12Z")

</div>

> [@NateDhaliwal](#):
>
> Yes. Admin wrench \> Change ownership.

Darn, I just came back to delete that part of the post after just seeing the Change Ownership command.

For the record, I’m interested in copying the revisions of each post as well (clarified now in the OP above), basically a full copy. Manually creating new posts and copy/pasting contents would lose the revisions (but it would be the next best thing if i can’t duplicate it otherwise)

> [@NateDhaliwal](#):
>
> I wonder if creating topics is possible with a TC 🤔.

What’s TC? I know I created new topics in the past via the API, though I’m not trying to create a new topic here, but duplicate all posts (with revisions) as replies to an existing topic.

---

<div class="post-metadata">

### Author: ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)
#### Post date: [October 23, 2025, 10:18am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/4 "2025-10-23T10:18:47Z")

</div>

> [@nordize](#):
>
> TC

A Theme Component.

> [@nordize](#):
>
> I know I created new topics in the past via the API, though I’m not trying to create a new topic here, but duplicate all posts (with revisions) as replies to an existing topic.

I don’t think that’s possible then. Perhaps this should be in #Contribute > Feature.

---

<div class="post-metadata">

### Author: ![nordize](https://avatars.discourse-cdn.com/v4/letter/n/c68b51/32.png) [@nordize](https://meta.discourse.org/u/nordize)
#### Post date: [October 23, 2025, 10:57am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/5 "2025-10-23T10:57:25Z")

</div>

> [@NateDhaliwal](#):
>
> I don’t think that’s possible then. Perhaps this should be in #feature::category.

I mean the split/merge topic functionality would fundamentally be the same, just that the old topic would not be deleted … that’s really all i’d need 🙂

Anyone proficient with Rails for Discourse to point me to the functions and calls to duplicate a post from one topic to another topic?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [October 24, 2025, 3:51pm UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/6 "2025-10-24T15:51:15Z")

</div>

It would take a plulgin to duplicate the topic and its revisions. But then what if one or the other topics keeps making revisions?

I think the thing to do is

- start the topic in the secret place
- discuss it, edit it,
- when it’s ready to be made public, you wrench, select posts, select the OP/first post and move it to a new topic

The moved topic moves with its edits. The original one stays in the original topic, with its edits. The new one is in the new topic with the edits.

I think this does what you want.

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [October 25, 2025, 8:04am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/7 "2025-10-25T08:04:42Z")

</div>

I agree, the link can always be on the lower trust topic will be on the higher trust topic if the Opening Post isn’t split.

If the trust’s were the other way round that would be problem, but make sense with the trust system

---

<div class="post-metadata">

### Author: ![nordize](https://avatars.discourse-cdn.com/v4/letter/n/c68b51/32.png) [@nordize](https://meta.discourse.org/u/nordize)
#### Post date: [October 25, 2025, 8:22am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/8 "2025-10-25T08:22:34Z")

</div>

@pfaffman thanks for chipping in. The old topic is closed already and we want to keep it where it is for various reasons (record keeping notwithstanding).

I’m aware of the split topic feature, but it’s not what I want. What I really want is the split topic without the deletion of old topic. I’m aware that internally the ruby code isn’t actually creating a new post and deleting the old, but that it changes the parent topic for the respective posts.

I’m not advocating the devs should add this as a feature, but would be grateful for some pointers to do this myself in the rails console.

---

<div class="post-metadata">

### Author: ![Ethsim2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ethsim2/32/522255_2.png) [@Ethsim2](https://meta.discourse.org/u/Ethsim2)
#### Post date: [October 25, 2025, 8:28am UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/9 "2025-10-25T08:28:56Z")

</div>

ah, you want to post revisions of the Opening Post to be in the lower trust topic

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [November 3, 2025, 7:26pm UTC](https://meta.discourse.org/t/duplicating-an-entire-topic/386513/10 "2025-11-03T19:26:21Z")

</div>

Perhaps a crazy idea and I haven’t tested this, but perhaps the [ActivityPub Plugin](https://meta.discourse.org/t/activitypub-plugin/266794) could work for you.
