Sharing Flows
This tutorial shows how flows can be shared in Appmixer either using the API or the SDK.
Last updated
This tutorial shows how flows can be shared in Appmixer either using the API or the SDK.
Last updated
Appmixer provides a built-in support for sharing flows with other users. When a user shares their flow, they provide a list of email addresses of other Appmixer users that they want to share their flow with:
When a flow is shared, users from the share list can see the flow in their accounts.
Note that the flow is shared in the sense that there's only one instance of the flow in the Appmixer engine. Therefore, if the recipient of the shared flow e.g. starts the flow, the flow appears started also for the owner of the flow and for the other recipients too. If you want to have separate instances, clone the original flow and share each clone with one recipient.
To share a flow using the Appmixer SDK, update the flow with the special sharedWith
list. The list contains objects with email
and permissions
properties where email
is the email address of another Appmixer user and permissions
is a list of permissions. Currently, the following permissions are available:
read
The user can read the flow but cannot edit it.
start
The user can start the flow.
stop
The user can stop the flow.
Sharing flows with other users for editing is not yet available.
Example:
To unshare a flow, simply update the sharedWith
array with an empty list:
Note that the sharedWith
array is returned from the appmixer.api.getFlow()
method. However, only the owner can see the list of users they shared the flow with. The recipients of the shared flow only see one item in the list and that's the email address and permissions for themselves.
The FlowManager and Designer UI widgets contain menus that allow the user to share their flows. Invoking the share menu item brings up a dialog box that looks like this:
The Appmixer SDK allows you to configure the sharing options available to the user. For example, you can define that the share dialog will give the user permission to share their flow only for read (and not stop/start) with:
You can also define the share types (email, domain, scope):
Sharing flows with the Appmixer API follows the same pattern as sharing flows using the Appmixer SDK. To share a flow, update the flow with the sharedWith
list: