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.
To help find resources quickly, you can look up resources within an application by searching for it using one of two search bars. Your search results will vary slightly depending on which search bar you choose. Clicking a result will navigate you to its corresponding page.
The application overview search can be accessed on the application overview page. You can navigate to this page by clicking on “Overview” in the application subnavigation on the left. On clicking into the search bar, a dropdown menu will appear with your search results.
In an empty state, the dropdown will display a list of helpful quick links. Once you enter a search term, the dropdown will update and populate a list of all items within your application that match your search.
The subnavigation search panel can be accessed from anywhere within an application in the left navigation panel.
In an empty state, the panel will display a list of the devices and workflows within that application that you have looked at most recently, as well as a list of helpful quick links. Once you enter a search term, the panel will populate a list of all items within your application that match your search.
Tip: The subnavigation search panel is easily accessed by the keyboard shortcut Option (⌥) + L (if you’re using a Mac) or Alt + L (on Windows).
Every application includes a README, which is an important tool to help communicate implementation details between team members. You can think of an application README as a concise synopsis of how your application works. The content of every application’s README will differ depending on the application; however, every new application will include a default README with helpful tips to get you started on writing it. READMEs are written in Markdown, which allows you to format how your README looks.
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.