Extension is a set of webhooks with extended functionality allowing your service to work with third-party systems.







Create new extension

To create a new extension, the “Advenced Features” shoud be turned on on the “Service info“ page.



To add new extension, click on the “Extension Editor“ tab, and click there the “Add Extension“ button.




Name and Description

Name and describe new extension in the corresponding fields.


Auth key

There are two types of keys:

  • The key your service uses to sign the webhook calling the integrated 3rd-party system. It is usually your service's default RSA key.

  • The key or key pair of an integrated third-party system that is/are used to sign the webhook that calls your service. Before integrating with a third-party system through the extension, you must obtain the public key from the third-party system. The public key can be of type RSA or SHA Secret.



Click on the "Auth key" field to set the new key.



Next, enter the key name, select the type of the key, and insert the key in the corresponding fields of the "Edit webhook authentication key" pop-up window. Then click "Submit."



Edit and delete the Auth key

To edit the Auth key, click on the corresponding field, make all necessary changes and click "Submit. "
To delete the key, click on the cross sign next to the "Key" field.


Set Triggers:

Extension can be triggered in the following cases or a combination of these cases: on receiving credentials, issuing credentials, and on finish.


On receiving credentials

If you want the extension to be triggered when the user shares their credentials during the interaction, please set the 'On Receive Credentials' trigger type.

Click on the corresponding field and set the URL of the integrated third-party system.

Depending on your extension, you may need to set parameters. For example, if you want to send a message to the integrated party upon receiving a credential from the user, you can set this up in the “Parameters” section. After setting up the webhook and any necessary parameters, click “Submit.'“



On issuing credentials

The "On issuing credential" extension will be triggered when the system issues a credential to the user.

This trigger type, allows you to set additional restrictions to activate the extension, such as the credential definition or credential schema type.

If set, the extension will only be triggered when the user is issued the credential based on the selected credential schema or credential definition.



On finish

This type of extension is triggered upon completion of an event and notifies the integrated party of the outcome, whether it was successful or not.



To add the URL of the third-party system you wish to integrate, click on the corresponding trigger field.


Add Parameters

After adding URL, click on “Add parameters“ to specify a set of parameters that your service expects in this extension.

You can make your extension "Public” if you choose at least one of the triggers mentioned above.


Select required credentials


You can set the required credentials as a condition for triggering the extension. The credential might be selected based on the credential definition or the credential schema.

Note that the required credential cannot be selected based on the credential schema if the credential definition created by this service based on this schema has a trust level of "Self-attested."

To specify the selective disclosure and zero-knowledge predicates, click on the required credential from the list and configure the necessary conditions.

You can find more information about adding the required credential on this overview's "SSI interaction" page.


Ping url

Add the URL of the third-party system you are integrating to ensure it is available.

Is public checkbox

Public extensions are visible and available to all services in the ProofSpace network.

If you want your extension to be available only for your service, leave the "Is public" checkbox unchecked.


Delete and edit extension

To delete or edit the extension, click the “Delete” or “Edit“ icon on the row of the selected extension.


Add extension to the interaction

See SSI Interaction page, “Add extension“ section.