Great Invitations

Note: For information how to configure your server system to support creating this type of invitations, please consult our self-hosting section.

Purpose of this tutorial is to outline how to create invites for the most popular clients according to XEP-0401: Ad-hoc Account Invitation Generation. For a basic understanding it's crucial to know there are two types of invites:

  • User Invitation

    A quick and easy way to add someone else to your contacts without further interaction.

  • Account Creation

    Allows to register a new account on your server.

Note: Depending on the server configuration it might still be possible to create a new account using a User Invitation. Likewise, an Account Creation invite can be set up so that it also creates a mutual subscription. Moreover, the latter allows you to pre-set an account name. Something that cannot be done using a User Invitation.

After creating an invitation, you should receive a landing page URL, that you're supposed to forward to another person using some third-party mechanism like email, SMS or any other means of digital communication. Some apps might even display a QR code, that you can show to that person directly, if they are nearby. Typically such a URL looks like this:

1https://example.com/invites/0camZqFi19rfSlVD8C4IaUFo

When opening in a browser you should see something like this (design varies from server to server):

A webpage viewed on a smartphone that shows that you have been invited to connect and a big button to add someone to your contact list. Furthermore it shows a selection of clients to install.
Landing page for User Invitation
A webpage viewed on a smartphone that shows that you have been invited to create an account followed by instructions how to get started.
Landing page for Account Creation

Depending on your server's configuration and client's capabilities, sometimes you might end up with just an XMPP URI to share. Those look like this:

1xmpp:inviter@example.com?roster;preauth=0camZqFi19rfSlVD8C4IaUFo;ibr=y

These URIs work only if the recepient already has a compatible XMPP app installed and the receiving third-party app supports those.

Tip: We provide a service here on joinjabber.org, that let's you transform such a URI into a landing page. This is a much more user-friendly way to share invites. Furthermore it suggests compatible clients to install if necessary.
Note: Best if you'd ask your server admin to configure a proper landing page. We offer guidance how to do so in our self-hosting section.
Access Gajim's account by clicking bottom-left corner, then navigate to extended options in top-right corner and pick 'Execute Command' from the drop-down menu.
Select "Execute Command" from account tab.
Dialog of available commands where you pick either 'Invite User' (User Invitation) or 'Create Account' (Account Creation)
List of available commands, showing both types of invitations (depending on server configuration)
A form showing fields for 'Username' and a checkbox for 'Roster Subscription'
Fill in form for Acount Creation, parameters are optional.
A dialog showing values 'Invite Landing Page URL', 'Invite URI' and 'Invite token valid until' as a result of submitting the form. These values can be selected to hand over to your invitee.
Result of Account Creation shows a landing page and an XMPP URI.
From Monal's main window click on upper right corner's buddy icon.
Tap buddy icon.
In Monal's contact list view click upper right 'add contact' icon.
Click on 'add contact' icon.
Click top right share button, left of camera icon. Results in screen with QR code and another 'share invitation link' button.
Click share button.
On main screen click qr code icon top-right corner.
Select QR code symbol from main screen.
From dropdown menu select last, third from top, labeled 'Invite to server'.
Select 'Invite to server' from dropdown.
Your prompted with a QR code and a share button at the bottom.
Share result or show QR code.
Click account icon top-left, click settings icon below, click 'Actions' on configuration screen left of it, select either of 'Invite User' or 'Create Account'.
Select invitation type from Movim's configuration screen.
Form shows a 'Username' field and a 'Roster Subscription' toggle. Submit button at the bottom right.
Fill in Create Account form.
The result window 'Invite Landing Page URL', 'Invite URI' and 'Invite token valid until'.
Result window with landing page URL and XMPP URI.
Send '/cmd list' from profanity's main window.
Send /cmd list to get a list of commands available.
Send '/cmd exec urn:xmpp:invite#create-account' to receive an ad-hoc form with field1 'Username' and field2 'Roster Subscription'. Instructions say either send '/form submit', '/form cancel' or '/form help'.
Send /cmd exec urn:xmpp:invite#create-account to get to the ad-hoc form.
Send '/form submit' to create invite. Result shows 'Invite Landing Page URL' (field1), 'Invite URI' (field2) and 'Invite token valid until' (field3).
Send /form submit to get to result screen with landing page URL and XMPP URI.

Popular clients that are known to not support this feature as of February 2026. Note, they might still be able to handle receiving such invites.

  • Dino
  • Kaidan
  • Beagle
  • Siskin
  • Snikket (iOS)