Archived May, 2026.

Custom Wizard Plugin :mage:

angus
:pavilion: Summary Forms for Discourse. This plugin lets you make rich and powerful forms for your Discourse forum. Better user onboarding, structured posting, data enrichment, automated actions and much more for your community.
:hammer_and_wrench: Repository Link https://github.com/paviliondev/discourse-custom-wizard
:open_book: Install Guide How to install plugins in Discourse
:people_hugging: Community Community based support and discussions about this plugin are hosted on the :pavilion: Pavilion Cooperative site.

The Custom Wizard Plugin is a popular, flexible, and powerful plugin which adds customisable Forms to your Discourse installation. These allow you to:

  1. Augment the onboarding process

  2. Conduct surveys linked to your existing user data

  3. Utilise automated and structured internal workflows

  4. Have structured posting of new topics and messages

  5. And a whole heap more…

Example Joining Wizard

Example Bug Report

Documentation

Extensive documentation about the Custom Wizard Plugin is provided via links within the plugin UI and hosted on our Coöperative site:

KhoiUSA

Hello, @angus I have noticed that with the plugin installed and enabled it appears to shift the “More” button to the center instead of keeping it in the left. Any idea why this occurs? Thanks.

angus

Thanks for the report. This will address it.

KhoiUSA

Thanks for the resolution :+1:

ppcole

Can the data captured thru the form be immediately displayed in a table in a topic?

angus

Hey @ppcole, yes it can. You would need to use the a “Create Topic” action and the “Post Builder” for that. You can read further and follow up here:

ppcole

@angus, can rows be added to the previously created table as members complete the form or does a new table have to be created?

angus

There’s currently no way of doing that. But if you send me a PM on coop.pavilion.tech we can discuss further.

nathank

This appears to have changed at the start of this year - brilliant!! No more sword of Damocles up there!

I’ve just started using the Custom Wizard Plugin again after a break; I’m impressed by just how refined and robust it is now - and how it can cater for many edge cases that aren’t covered by core or the official plugin / TC ecosystem. Or indeed, it can refine and join up some of them quite effectively.

My latest little project where it has been super helpful has been overcoming the challenging UI for Discourse Calendar (and Event), which is admin-friendly rather than user-friendly.

jrgong

Hey guys

has anyone tested CW plugin with 3.6beta1? The composer image upload seems to be broken.
Tested with latest commit f331ad2

jenmck

I’m trying to get the subscription information to look into upgrading, but every reference to the pricing page is a broken link - https://custom-wizard.pavilion.tech/pricing/

What is the current URL?

Moin

I think a subscription is no longer needed. The information was removed from the first post in summer.

And there was also a change in the code that seems related Remove subscription restrictions #1 · paviliondev/discourse-custom-wizard@01fe27d · GitHub

jenmck

Ah! That explains it then. Thanks!

I guess my next question is…how to set this up? There’s not documentation that I can find on the Pavilion website, unless I’m missing something - Discourse Custom Wizard - Pavilion

I think where I’ve been confused is that on this page: Wizard Administration - Discourse Custom Wizard - Pavilion It’s indicated that there should be a site setting enabled, but wizard_apis_enabled is not in the site settings:

Site Settings

  • custom_wizard_enabled: Disable this to prevent custom wizards from being used.
  • wizard_redirect_exclude_paths: Paths that cannot be redirected to from a wizard.
  • wizard_recognised_image_upload_formats: Upload types that will treated as images.
  • wizard_apis_enabled: Enable wizard API features. This is experimental and has not been thoroughly tested. Use with caution.

Assuming though that it’s just enabled by default now, I’m not quite sure how to go about setting it up, because the Select an API dropdown and the Select an endpoint dropdown are both blank and I’m not sure what the steps are to populate those dropdowns.

I thought that it might be because we weren’t subscribed, but given that subscriptions aren’t a thing, I’m not quite sure where to go from here.

nesges

After updating Discourse to the latest v2026.3.0-latest.1 (fb8ef7ee72) the /admin/wizards and /w pathes aren’t accessible anymore while /admin/plugins/discourse-custom-wizard/settings is working fine

nathank

Yikes, that is a proper breaking change!

I can confirm that it was still working on 2026.3.0-latest (31ae4b0421)

Moin

Does this help?

It was enabled by default 2 days ago

nesges

Setting ROLLUP_PLUGIN_COMPILER: 0 did indeed help. Thank you!

nathank

Hmmm - didn’t work for me though.

Perhaps I did it wrong; I included this in my app.yml in the env: section

  DISCOURSE_ROLLUP_PLUGIN_COMPILER: 0

But despite this, after a rebuild / update just now, /admin/wizards and /w are inaccessible.

nesges

Just ROLLUP_PLUGIN_COMPILER without the prefix worked for me

david

I think this should help:

cc @angus

Please bear in mind that this option will not be available for much longer. As soon as custom-wizard is fixed, I recommend you switch back to to the new compiler.

david

The custom-wizard fix is now merged. @nathank @nesges if you have the time, would you mind re-enabling the rollup plugin compiler and see how you get on?

nesges

I just updated, removed the env variable and rebuilt. I can confirm the Wizard is functional. Thanks for your quick fix! :heart:

nathank

Yup, working fine here too after removing that line from app.yml and rebuilding.

Thanks for sorting that so quickly!

gilles

I just discovered the plugin, which is truly amazing once you know how to use it!!

I’m encountering an issue with the location section. I’m using the plugin to create a topic with location + event. Everything works fine except that my topic doesn’t appear on the map. I have to go back into my topic and re-confirm the postal address, and then my topic reappears on the map. I don’t know if anyone else has encountered this problem.

gilles

Since the last Discourse update (**2026.4.0-latest), I am unable to assign a form to the ‘Create Topic’ button. In the advanced settings for the category, I can select my form, but I cannot save it.

Does anyone else using the plugin have the same issue?

Thank you.

gilles

Hello,

I wanted to know if it’s possible to dynamically load a list into a dropdown field by typing text into a text field, for example, using a script?

My goal is to type the name of a game and use an API to fetch a list that I will then load into the dropdown field.

This is because I didn’t quite understand the configuration of the various fields like prefill, conditions, etc.

Thank you.

Hasimir

Hi :slight_smile:

I’m trying to use the wizard to personalise the sign-up / onboarding of my forum.
Basically after email verification, users are shown the wizard…
Each step presents a part of the forum rules/covenant and requires an action.
Most are just a checkbox agreement.
One is a dropdown.
I need to “validate” the answer so that if it is correct they go on to the next step, and if it is wrong they can’t progress.

Problems:

  1. I seem unable to do exactly that.
    A field can be “required” and block progress if not used, but there is no way to do a validation check.

  2. so I hacked validation by crafting 2 steps: one for TRUE and one for FALSE, and used the conditions in those steps to see if the previous step was filled out correctly.
    But…
    This screws with the wizard progress bar, as the validation steps functionally “don’t exist” until conditions are met, so the progress first looks shorter, then longer.
    It looks bad, and if you go back or reload it can be confusing.
    But…
    The FALSE step still always has to have a button in addition to the “back” link. Depending on how I configure things this appears as NEXT or DONE, but in either case I don’t want it. The user is supposed to hit a wall and be asked to go back to revise their answers.
    So…
    I hacked a wall by attaching an Action at the end of this step, to route the user back to the questionnaire step.
    It’s inelegant, but it works.

So…
Am I missing something?
Is there a better way to achieve my goals and fix mi problems? :sweat_smile:

EDIT:
Also, on mobile the progress bar partly covers the Back and Next buttons.

Hasimir

Also, this problem with the composer still exists :sweat_smile:

gilles

I think the custom wizard plugin is no longer maintained, even though the plugin itself is very interesting and powerful :pensive_face:

The best option would be to have a plugin where we can create macros or customizable scenarios that would allow us to use various plugins to address every use case within the Discourse community.

angus

Hey guys!

I’ve addressed this. Please update to the latest version of the plugin.

@Hasimir What you’re suggesting is quite doable using the regular functionality of the plugin. Have you checked out the documentation?

If there are any other current confirmed issues please highlight them with specific details and I can address them.

Hasimir

Thanks for the reply :slight_smile:

I am trying, but I’m not finding the info I need.
Here is my specific need:

  • I need a wizard where each Step (including step_1) has a dropdown with three options.
    Done :white_check_mark:

  • If the user picks the correct option, the “next” button works and lets them move forward.
    Done :white_check_mark:

  • If the user picks a wrong option, the “next” button does not work.
    I can’t find a way to do this :no_entry:

    • my current solution is to send the user to a special “Wrong Answer” Step that explains the error and asks to go back.
      Done :white_check_mark:

    • …but in this Step there are both a “back” and a “next” buttons. I to only see the “back” button.
      I can’t find a way to do this :no_entry:

      • my current solution is to use an Action to make the “next” button in the “Wrong Answer” step send the user back to the beginning of the wizard, at step_1_field_1
        Done :white_check_mark:
        But it’s not ideal :confused:

Am I missing something in the official documentation that would allow me to do what I need in a better way? :slight_smile:

Willy

I have a site with these two options active:

Login required
Invite only

Therefore, it’s a 100% private forum. How can I create a public form using this plugin? It would be very helpful.

nathank

It used to have that functionality, but was only available to enterprise clients (back when it was a subscription plugin). I suspect that it has been removed from the code now though.

It would be super helpful to have it available; perhaps it is buried in there somewhere.

Eviepayne

Yeah idk how to fix it. might require forking the plugin and figuring out why it causes it.

angus

If I’m reading you correctly, what you want is a step conditional and / or validation on a user-selected value? If so please check out

You can’t currently override the login required and invite only protections with the custom wizard plugin.

Willy

How do I delete all received submissions? And why isn’t there an option to delete them individually? I mean, even if I delete the custom wizard, if I import another JSON file with the same ID, I will still be able to access all previously received submissions.

And on the other hand, is it possible to send an email to the admin with the information the user entered in the form? The “Send Message” button doesn’t seem to work.

angus

You can’t through the admin console. You can delete submission data in the rails console.

Yup, that’s expected!

It works :slight_smile:

For example if you fill out this simple wizard I just created it will send me a message

Willy

What command should I use to delete from Rails?

I was able to verify that it does send an email.

Hasimir

Thanks… but I already looked those documents up.
For the life of me, I seem unable to find the “advanced” options for the Dropdown field :sad_but_relieved_face:
This is what I see as a “clean/new” field…

Do I need to enable the feature from somewhere else?
This is my actual field with logic and all…

nathank

Me neither - I can only see them for the Text fields, and then it is just Similar Topics:

@angus - I think that this feature must have been removed when subscriptions were dropped, and the documentation didn’t catch up.

Willy

I created a Custom Wizard and made several submissions as tests, and I can’t delete them manually. According to what I read in another thread, the only way is via Rails, but I can’t figure out which commands to use, ChatGPT fails a lot here.