This module allows you to import MUC membership information from an external URL in JSON format.


If you have an organization or community and lots of members and/or channels, it can be frustrating to manage MUC affiliations manually. This module will fetch a JSON file from a configured URL, and use that to automatically set the MUC affiliations.

It also supports hats/badges.


Add the module to the MUC host (not the global modules_enabled):

    Component "" "muc"
        modules_enabled = { "muc_members_json" }

You can define (globally or per-MUC component) the following options:

Name Description
muc_members_json_url The URL to the JSON file describing memberships
muc_members_json_mucs The MUCs to manage, and their associated configuration

The muc_members_json_mucs setting determines which rooms will be managed by the plugin, and how to map roles to hats (if desired).

muc_members_json_mucs = {
    -- This configures hats for the myroom@<this MUC host> MUC
    myroom = {
        -- The optional field 'member_hat' defines a hat that will be
        -- added to any user that is listed in the members JSON
        -- (regardless of what roles they have, if any)
        member_hat = {
            id = "urn:uuid:6a1b143a-1c5c-11ee-80aa-4ff1ce4867dc";
            title = "Cool Member";
        -- The optional field 'team_hats' defines one or more hats
        -- that will be assigned to users that have the specified
        -- roles in the JSON.
        team_hats = {
            janitor = {
                id = "urn:uuid:ec32f550-7d5f-11ee-81ee-6b139cac3bf6";
                title = "Janitor";

JSON format

  "members": [
      "jids": [
      "jids": [""],
      "roles": ["janitor"]

The JSON format must be an object with a members array.

Each member must have a jids field, and optionally a roles field (both are arrays of strings).


trunk Works
0.12 Works


With the plugin installer in Prosody 0.12 you can use:

sudo prosodyctl install --server= mod_muc_members_json

For earlier versions see the documentation for installing 3rd party modules