All devices and workflows belong to a single application. Users can have multiple applications as needed. Dashboards do not belong to an application since a single dashboard can contain graphs and blocks for several different applications.
There are a few places within the platform from which an application can be created; or, applications can be created at any time using the main
When creating an application, you will be asked for three pieces of information:
- Application Name: You are required to name your new application. The name can be changed at any time.
- Description: Optionally, you may also provide a more detailed description of the application.
- Owner: The application must be scoped to your personal Sandbox or to an organization for which you have the Editor role. The owner can be changed at a later date only if you have Administrator permissions for the parent organization (or Sandbox).
Applications can be deleted on the settings page. Deleting an application cannot be undone. All devices, device data, workflows, and device recipes owned by this application will be permanently removed.
You may clone an application - and the majority of the resources that fall beneath it - by visiting the “Clone” tab under the “Application Info” link in your application menu.
First, choose an owner for the new application. By default this is the organization or sandbox that currently owns the source application, but this can be changed to any other organization where you have administrator access (or your own sandbox).
Cloned applications are still subject to account resource limits, and you will be unable to clone an application if the result of the operation will cause any of your resources to go over their allowed limits.
The following will not be cloned into the new application:
- Access keys
- API tokens
- Device state data
- Experience domains and slugs
- Edge workflow deployments
The following will be cloned but in a disabled state:
You may optionally choose to clone the following resources:
- Devices (does not include any device data or access keys tied to your devices)
- Data table rows (the table itself, and its configuration settings, are always cloned)
- Application files (failing to clone these will cause links to your files to stop working)
Depending on the size of your cloned application, it may take a while for the process to complete, in which case you will receive an email at the address of your choosing when your new application is ready.
The Application Log is a real-time log that displays helpful information about various aspects of your Losant application. It’s most useful for debugging purposes.
As a real-time tool, the Application Log will always begin in an empty state. Logs will appear as actions on your application take place. Logs will show for the following cases:
- MQTT Authentication - A log will appear when an MQTT client successfully connects or fails to connect to the Losant MQTT broker.
- Raw MQTT Messages - MQTT Messages sent or received by the Losant MQTT broker will appear in the log.
- Device State - When devices report state, a log will appear.
- Device Commands - When Losant sends a device command, a log will appear.
- Device Connection Status - When devices successfully connect or disconnect from Losant via the MQTT broker or the REST API, a log will appear.
- Webhooks - When a Webhook is triggered, a log will appear.
- Webhook Replies - When Losant replies to a Webhook, a log will appear.
- Endpoint - When a request is made to a Losant Experience Endpoint, a log will appear.
- Endpoint Reply - When Losant replies to an Experience Endpoint, a log will appear.
- Integration Messages - When Losant receives a message from an Integration, a log will appear.
Resources can be looked up and accessed from any page within an application by searching for it using the search bar within the subnavigation. The search panel can be opened by clicking on the search box or by hitting Option (⌥) + L on Mac or Alt + L on Windows.
The search panel displays a list of recently accessed workflows and devices and links to common routes when it is first opened.
As a term is input, the options will filter and return resources that match. Resources can be looked up by name or partial name and results are restricted to the current application.
Application globals are a set of key/value pairs that are accessible inside of any workflow in the current application. This is a great place to store application-wide configuration that is used across multiple workflows, like phone numbers or API keys.
To view or manage your application globals, click the “Globals” link in the “Settings” section of your application navigation.
Add a new global by clicking the “Add Global” button. This will create a new global variable for which you must enter the following properties:
- Key - This is the property name under which the global can be accessed. Keys are required, and they may only contain uppercase and lowercase letters; numbers; and underscores (_) and hyphens (-). Keys must also be unique across your other application globals.
- Type - Choose the type of data stored within this global: String (default), Number, or JSON.
- Value - Enter the value to return when this application global is invoked within a workflow. This field is required, and the input must validate against the global’s chosen type.
- Description - Optionally, you may provide a description for this global so that other collaborators know how its value is used within your application.
- Do not send to edge workflows - By default, application global values are sent down to your edge compute devices through your edge workflows. If the global contains sensitive information that you would rather not deploy to a device in the field, you may check this box to disable this behavior.
Any values configured here are accessible under the
globals object in:
- The configuration for Integrations
- The configuration for Notebooks
- The configuration for Application Archiving
- The payload in a workflow run
Application globals can be overridden within a workflow by defining a different value at the same key in the workflow globals for that specific workflow.