Pyrus extensions
Pyrus can interact with various external systems (messengers, social networks, telephony systems, CRM systems, etc.) through API calls and webhook mechanisms. An extension is a service that processes information from an external system before sending it to Pyrus, the other way around: processes information from Pyrus to send to an external system.
All extensions are located on the marketplace page. They are visible and available for installation to all Pyrus users.
The schema below represents the interaction of extensions with Pyrus.
Extension features
Extensions are installed in Pyrus forms. All information coming from an external system through the extension will be presented in Pyrus as tasks created in the form in which that extension is installed. Pyrus will notify the extension of events in the task using webhooks.
Extensions enable you to:
- correspond online, in an external channel, directly from the task;
- register and process calls from the telephony system;
- synchronize objects in the external system with tasks in Pyrus forms;
- notify Pyrus of events in the external system;
- and much more.
To install an extension, a Pyrus user must be registered in the external system. The user gets authorized in the external system at the time of installing the extension in the form.
What you need to create your own extension
To create your own extension and make it available to all Pyrus users, you will need to:
- register your organization in Pyrus;
- deploy a web service on your server or in the cloud that will handle requests from Pyrus and external systems. For the extension to work, the web service must implement the necessary HTTP methods;
- configure the extension in the developer's personal account;
- pass moderation;
- publish the extension;
- provide technical support to clients and release updates.
Setting up the extension in the personal account
Go to the Extensions section in the bottom-left corner of the screen.
Open the Extension Development tab in the top panel.
Click on Create a new extension.
Enter the name of the extension. This name will be displayed in the developer's personal account, and can be changed at the time of publication. Click Create.
Step 1: Basic settings
Configure the basic parameters of your extension.
Enter the address of the web service, deployed on your own server or in the cloud, that will process requests from Pyrus and external systems.
To authorize the extension user in your service, specify:
either parameters for accessing the service via authentication keys (max. 5 parameters);
or a link for authorization via the OAuth 2.0 protocol, as well as the data necessary for your service to identify a request from Pyrus: client ID (clientID, a parameter similar to a login); client secret (clientSecret, similar to a password), and the access rights that your service provides to Pyrus when authorizing the user (Scope).
Click Continue.
Step 2: Exchanging data with the form
Configure which information will be transferred from your service to Pyrus form fields and/or vice versa. Here, you can also specify which fields in the Pyrus form will be required to fill.
The following field types are available to you in Pyris for configuring the data exchange: Text, Number, Files, Email, Date, Time, Multiple choice, Phone, Money.
When installing the extension, the user can specify the form fields into which information from the external system will be transferred or sent, such as Sender Name, Post Link, etc. These fields will be assigned a code that will help sync multiple extensions in one form.
If necessary, connect additional functions that will support your extension.
Click Continue.
Step 3: Extension Information
Upload the avatar of your extension and select tags that will help users find your service in the catalog of Pyrus extensions.
Provide information about the developer that will be visible to users on the extension page.
Describe the purpose of your extension succinctly and in detail, attach setup instructions, and specify the names of the authorization parameters (if authorization via parameters is used).
You can also specify the interface languages supported in Pyrus here.
Note: users will see the extension in their Pyrus interface language, or in English if a suitable language is not found. Add English localization to make the extension available to all Pyrus users. All parameters and descriptions must be filled in for each language separately.
Proceed to the next step to save the settings. Evaluate what the page of your extension will look like in the Pyrus interface.
After the third step is completed, you can connect the extension to the form and test it.
Connecting to the form and testing
On the extension version settings page in your personal account, click the Install to form button in the form in the top-right corner of the screen.
Select the Pyrus form to connect the extension to.
Enter the authorization data of the user of your service and click Connect an account.
If necessary, configure binding of form fields and additional parameters, and then activate the extension.
The extension is now connected to the form, and ready for testing.
Publishing the extension
For the extension to be available to all Pyrus users, it needs to be published on the extensions page. It can be published only after it passes moderation.
After configuring the extension, go to the Publication step. You will see The version is ready for moderation extension status.
Check that the extension is displayed correctly on the Publication page, then click Submit for review at the bottom of the page, and confirm.
The extension status will change to The version is undergoing moderation.
Moderation takes up to 3 business days. If your extension passes, a Publish button will appear in your personal account. Click on it and your extension will become available to users in the Pyrus extensions catalog. If your extension doesn’t pass moderation, you will receive a notification in your personal account, and an explanation email at the specified email address. You will be able to improve your extension, and then submit it for moderation again.
To update the extension, create a new version and publish it as described above.
General extension settings
In the General tab in the extension administration panel, you can:
View the login and secret key of your extension for access to the Extensions API;
Rotate the secret key;
Important! After the secret key is updated, the previous key will stop working, and Pyrus will not be able to process requests to the Extensions API until the key is updated in your application.
Specify multiple email addresses for receiving notifications from Pyrus about the status of your extension. By default, notifications are sent to the user who created the extension;
Specify a contact phone number for contacting Pyrus support regarding extension operation issues;
Provide access to the extension administration panel;
Delete the extension.
Important! Deleting the extension is an irreversible step. We strongly recommend posting about its upcoming deletion on the extension page in advance.
Managing access to extension administration
To manage access to extension administration, go to the Parameters tab. There are two tiers of access to extension administration:
Owner — everything allowed.
Administrator — everything allowed, except deleting the extension.
Specify users and the access tier you want to grant them in the corresponding table and click Save. Users must be members of your organization in Pyrus. Users with Administrator rights cannot manage users with Owner rights. The user who created the extension automatically becomes its Owner.
In addition to the access tiers described, employees of your organization with rights to manage integrations have Owner-tier access to all extensions developed by your organization.
Extension versions
Extensions support versioning. The first version to be developed is automatically generated when an extension is created. Versions work independently of each other, but only one of them can be published and available to all Pyrus users at any given time. At the same time, one other may be under moderation or in development.
A separate tab is created on the extension development page for each version.
Versions can have the following statuses:
- In development — set when creating a new extension version.
- Awaiting moderation — set when a new extension version is submitted for moderation before being published.
- Developer recalled version — set if the developer has recalled a published extension version.
- Ready for publication — set after passing moderation, in the event you decide not to publish the extension immediately after moderation
- Publication denied — set if the current extension version did not pass moderation.
- Published — set once the extension version is published. The extension is available to all Pyrus users on the marketplace page. When a new version is published, the previous version with this status is considered obsolete.
- Technical failure — set only for a published extension version in cases where your server stops responding to requests, or if the HTTPS certificate has expired.