# Create Confluence Page based on a template when New User Created

**URL:** <https://forum.library.adaptavist.com/t/create-confluence-page-based-on-a-template-when-new-user-created/102>\
**Category:** Scripts\
**Tags:** confluence, data-center, listener\
**Created:** [March 14, 2022, 12:24pm UTC](https://forum.library.adaptavist.com/t/create-confluence-page-based-on-a-template-when-new-user-created/102 "2022-03-14T12:24:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![attila.bordas](https://avatars.discourse-cdn.com/v4/letter/a/a587f6/32.png) [@attila.bordas](https://forum.library.adaptavist.com/u/attila.bordas)\
**Post date:** [March 14, 2022, 12:24pm UTC](https://forum.library.adaptavist.com/t/create-confluence-page-based-on-a-template-when-new-user-created/102/1 "2022-03-14T12:24:13Z")

</div>

This Event Listener will automatically create a new page from a template when a new users is created in Confluence.

Use Case: Each time a new hire is on-boarded in Confluence, a Bio page should automatically be created in a particular location in a Space where the new hire can add information about themselves including their past work history and skills.

```auto
import com.atlassian.confluence.core.DefaultSaveContext
import com.atlassian.confluence.event.events.user.UserCreateEvent
import com.atlassian.confluence.pages.Page
import com.atlassian.confluence.pages.PageManager
import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.confluence.user.ConfluenceUser
import com.atlassian.sal.api.component.ComponentLocator
import groovy.xml.MarkupBuilder
import com.atlassian.confluence.pages.templates.PageTemplateManager
try {
    def event = event as UserCreateEvent
    def user = event.user as ConfluenceUser
    def pageManager = ComponentLocator.getComponent(PageManager)
    def spaceManager = ComponentLocator.getComponent(SpaceManager)
    def templateManager = ComponentLocator.getComponent(PageTemplateManager)
    def teamSpace = spaceManager.getSpace("HD")
    def template = templateManager.getPageTemplate(10289153)
    def parentPage = pageManager.getPage(10649613)
    assert parentPage
    def targetPage = new Page(title: "${user.fullName} Bio",
        bodyAsString: template.getContent(),
        space: teamSpace,
        parentPage: parentPage
    )
    log.warn targetPage
    pageManager.saveContentEntity(targetPage, DefaultSaveContext.DEFAULT)
    parentPage.addChild(targetPage)
    pageManager.saveContentEntity(parentPage, DefaultSaveContext.MINOR_EDIT)
}
catch (anyException) {
    log.warn("Failed to create page for new user", anyException)
}

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex019/uploads/adaptavistlibrary/original/1X/ceb18adf14fa58b4c6de03aa69ada8b07359620c.png) [@system](https://forum.library.adaptavist.com/u/system)\
**Post date:** [September 10, 2022, 12:24pm UTC](https://forum.library.adaptavist.com/t/create-confluence-page-based-on-a-template-when-new-user-created/102/2 "2022-09-10T12:24:25Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
