Documentation for apps. If you'd like to make an app check out this guide
Apps are the heavy lifters of workflows within Shuffle. They give access to a library of functions, and are created using OpenAPI or pure Python. Shuffle gives you access to pre-defined integrations located here.
A subset of available apps can be found at https://shuffler.io/apps.
Apps are the primary building blocks in workflows. Apps can be auto-generated from OpenAPI specifications or using Shuffle's app sdk. To enforce stability and usability, we use a versioning system to prevent sudden updates to apps.
Apps can contain multiple actions, which can take multiple variables. They are made to be able to interact with each other by using each-others' data. Apps have the ability to be in multiple environment with different data (e.g. different credentials), before passing them on.
PS: In a future iteration, focus will move to an optional hybrid execution model (e.g. use cloud resources).
An app can perform more than one task based on predefined actions. These actions are defined by the developer, and are reusable and modifiable by the user of the app. An action should (for now) be a one-to-one representation of the function to run, and usually has arguments for authentication with the target application. Actions can contain multiple arguments.
You can see what actions an app has by going to /apps, then finding the app you're looking for.
Arguments are the variables used to perform an action. Arguments with an orange dot next to them are required, with yellow ones being optional. Arguments should have example text to to indicate the expected value. The first arguments of an app are usually related to authentication or the target URL, where we suggest using variables
You can see what parameters and action has by going to /apps, selecting an app and then the action.
PS: This only applies to onprem Going to /apps, there exists a button called "Download from Github" which by default will download apps from the directory https://github.com/frikky/shuffle-apps. You can type in your own repository along with authentication options if applicable.
When the modal opens, there are two buttons:
When you set up Shuffle for the first time, it should provide you with >100 existing Apps. These are gathered from shuffle-apps, and will grow over time. Searching for apps is done by going to /apps and writing your search term. In the example below, we searched for "TheHive", which ends in TheHive being shown.
A goal for Shuffle is to make it possible to search outside the apps you currently have. This is an open issue as of 23.05.2020, but will be worked on.
PS: Extended search can be done using the shuffler search-engine
Apps may fail at times, usually due to bad coding on the creators' side. This means that to get more information, you may be required to troubleshoot and debug to get the logs.
More about this in the app creation debugging section
Apps in Shuffle can be made using the App Creator or with Python directly.
Read more about how to make an app here
If you have an OpenAPI config already
If you want to create an app
Creating or editing an app in Shuffle is made to be as simple as possible
Prerequisite knowledge:
App creator:
If you've created an app using the editor, or uploaded an OpenAPI specification, it's changeable. Find the app you created by searching for it, then click the "Edit app" button as seen below. You can also delete it.
Required permissions (either or):
TBD
If the app you're looking for exists, it will be available on https://shuffler.io or Github. Apps available on the Shuffle website, can further be clicked then exported or tested directly.
After you've found a public or private app on https://shuffler.io, it's possible to test it directly. The view you get access to has the fully featured app included, meaning you won't need to build a workflow to test it.
Options:
Apps can be downloaded or exported from your local instance or https://shuffler.io as long as it's either your private app, or a public one AND is OpenAPI. If you find the "download" icon in any part of Shuffle, that means the item is exportable.
If you have an OpenAPI specification, either exported from Shuffle or otherwise, it can be imported in the /apps view. You need to be logged in.
Supported filetypes:
The options for importing are:
Any public app can be activated, giving you access to a copy of the original app. This app is editable, meaning you can change the configuration of the app in it's entirety in your own Organization. Activation can be done by first Finding the app, then clicking the "Activate App" in the top right corner. If successful, you should se a notification that it's been activated.
Once an app is activated, you can use it within any Workflow, and find it under /apps. If you can already see the app under the /apps view, it means the app is already enabled. You need to be logged in.
If you want an app activated in your LOCAL environment, see importing apps
All apps can be published. Published apps are available to EVERYONE using Shuffle, as long as they activate it. This means if you publish an app, it is searchable AND shareable with others. The process for Python and the App Creator are different, as can be seen below.
Python:
App Creator:
PS: To remove a public app, contact us
NOT CLOUD
If you have a repository (private or public) of custom apps for Shuffle (or WALKOFF), Shuffle can load all the apps by using the "Download from URL" button in the /apps view.
Click the "Download from URL" button
Fill in the github/gitlab URL, and if the repo is private, your username & password. These are used for BasicAuth when running git clone.
Hit submit. If it's unsuccessful, it will throw an error, otherwise show a loading icon. This means it's working on getting your apps.
PS: There is nothing stopping you from deleting an app that is used by a workflow. This is a destructive action, and will make some workflows using the app unusable.
Deleting an app is done by searching for it in /apps.
Required permissions (either or):