Note: Nintex Apps data centers are located in West US and Australia (AUS). In-region processing of Nintex Apps data is only available in these regions.
Apps
An app is a collection of Nintex Apps pages, connections, files, and permissions that make Nintex Apps software available to end users.
Apps and their pages are accessed visiting specific URLs within the Nintex Apps site. In addition to providing a single area for resource management, apps are also the primary means of deploying all of an application's required resources from one Nintex Apps environment to another.
App-centered development and primary concepts
When building applications with Nintex Apps, it's best practice to adopt an app-centered development mindset, which means to build and work primarily in the context of a single app and its detail screen. The app should be seen as the primary means of organizing all the resources needed for a collection of Nintex Apps pages to operate.
It's important to keep this app-resource relationship in mind because pages, connections, design systems, and files exist at the site level. It's possible to create resources outside of the context of an app—such as in the Pages or Connections screens. This can be useful for creating experimental pages, which may not want to be associated with any app. However, this should only be done if you don't plan on end users seeing that resource—a form of deployment.
Deployment is one of the key benefits of app-centered development. Creating resources as needed within the app you are working on automatically creates app-resource relationships, which ensures a smooth deployment process:
- When deploying an app to end users, the app-resource association is often used for more advanced permissioning through app permission sets. If a user does not have permission to access a resource, like a connection, it will not load, and the end user could encounter unexpected behaviors.
- When deploying an app to another environment, any resources not associated with an app will not deploy as part of that app. For example, if deploying an app from a sandbox environment to a production environment, any pages, connections, or files not associated with the app will be missing when the app arrives in the destination environment. It's still possible to deploy these resources individually instead of as part of an app, but this is not best practice.
To safeguard against referencing unassociated resources, Nintex Apps tries to associate resources automatically. When adding existing pages to an app, Nintex Apps will try to associate all necessary resources referenced in the page with the app. And Nintex Apps's Page Designer will automatically associate some resources whenever they are selected while working on a page—for example selecting a model's connection or a Page Include component's page.
With these safeguards in place, and by practicing app-centered development, the many parts that make up your applications stay organized and easily managed. If you begin to see issues with certain resources not appearing correctly for your end users, be sure they are associated with all the apps they are used within.
Managing Apps
The Apps list screen is accessed by clicking Apps in the Nintex Apps UI navbar. This screen displays all apps configured in the current Nintex Apps environment, with ordering and search options for navigating existing apps. From here you can create new apps, as well as configure or delete existing ones.
Create an app
-
In the Apps page, click Create.
-
Set your app details:
-
Name: The name of the app, displayed in the user's My Apps selector.
-
URL: The URL end users visit to access the app. This URL is a combination of the Nintex Apps environment's URL and a path specified here. While this field is auto-populated based on your app's name, you can enter any URL-encoded value.
-
Design system: The design system applied by default to all pages within this app and included as an app resource.
Note: If you have v1 pages available, then it is possible to set a theme as the app's design system.
-
-
Click Create.
Delete an app
Note: When deleting an app, its URLs are no longer accessible and its pages are no longer available to end users. The resources are not deleted, but they must be associated with a new app to once again be made accessible.
- Click the More Options icon.
- Click Delete.
- Confirm the deletion by clicking Yes, delete app.
Configuring an App
To access and configure an app's details:
- Click the More Options icon.
- Click Details. Alternatively, click the app's row within the app list.
This navigates to the app's detail screen, where the app's settings and resources are configured. You'll need to configure the following within the app detail screen before end users can access the app:
- Create the Nintex Apps resources to be used in the app—or add existing resources. This includes pages, connections, and files.
- Setting and activating page URLs for all necessary app pages
- Configuring and assigning proper permission sets to users
These steps may not necessarily happen in this order, but they are all necessary in order to deploy an app to end users.
Setting an app's design system
Setting an app's design system does two things:
- It associates the design system as an app resource, meaning it deploys with the app to other environments.
- It sets that design system as the default for the app's pages. Newly created pages within the app automatically select the app's design system.
Apps can only have one associated design system. However, it's still possible to add pages that use a different design system to an app. When adding pages with a different design system, you will see a warning, but Nintex Apps will not change the page's settings. A page's design system is never automatically updated because existing style variant display logic could break within the page. You'll need to manually update a page's design system to match the app. If you'll be deploying your app to other environments, and it contains pages using other design systems, you must manually deploy those design systems.
Also be wary of changing an app's design system after you've added pages to the app. Existing pages will not be updated to match the newly set design system. If you must change an app's design system later, then be sure to manually update each page in the app.
Note: If you have v1 pages available, it's also possible to set a theme as an app's design system. The same limitations apply: that theme should be used for all pages within the app, as any other themes (or design systems if the app also contains v2 pages) will not be associated as an app resource.
Updating an app's name and URL
An app's name determines how it's listed within the Apps screen, while its URL determines the web address users must visit to see the app. Both of these settings can be updated in the app detail screen.
- Within the app detail screen's header, click the More Options > Edit.
- Edit the App Name and App URL fields as needed.
- Click Save.
Note: The app URL does not automatically update to reflect any changes to the app name within this modal.
App details and resources
Once in an app's detail screen, it's possible to configure the app's settings in the header section, while the lower portion of the screen deals with the app's resources.
The tab list, on the left, displays the resources and access settings available to configure within it. This includes the following:
- Pages
- Files
- Data
- Permissions
- Users
Creating resources within the app automatically associates them with the app. For example, when creating a page from an app's detail screen instead of the Pages list screen, the newly created page is automatically associated with the app. That page is also available at the site level and can be used in other apps.
Pages
Apps are made up of pages, each of which can be made accessible at one or more URLs or used within other pages through the Page Include component. This tab is especially important for app deployment, as you'll set page URLs within it.
The list within the Pages tab shows several pieces of page info at a glance:
-
Each URL for a page, as well as whether they are enabled (on) or disabled (off)
-
The page type
- : This page is the app's home page
- : This page is principal page, which can contain one or more dependent pages
- : A standard page, also used to represent dependent pages
-
The last user to update the page and the last modified date
Adding pages, previewing, and removing pages
To create a new page within the app:
- Navigate to the app's Pages tab.
- Click Create
To add existing pages that have been created in a separate app or from within the Pages list:
- Navigate to the app's Pages tab.
- Click Add.
- Select the page you wish to add to the app.
When adding an existing page you will also see a list of the page's resources that will be added to the app, such as connections and any included pages.
To preview a page:
- Click the More Options > Preview.
- If needed, select the URL at which to preview the page.
- If necessary, enter values for any parameters required by the page URL. For more information on URL parameters, see the Setting page URLs section.
- Click Preview.
The page opens at the selected URL in a new tab.
To remove a page:
- Click the More Options > Remove.
- Confirm by clicking Remove.
- Files are not automatically detected when adding an existing page to an app. Be sure to manually add any files referenced in the page.
- If an added page contains Page Include components, Nintex Apps will also add the included pages. However, Nintex Apps only checks one page level deep. If the included pages also use a Page Include component to include other pages, you'll need to add them manually.
Setting a home page
Apps have a single home page, which serves as a landing page for the app's URL, and they can have many additional pages.
The first page created within or added to an app is set as the home page, but it is possible to set a different home page after more than one page is associated with the app:
- Click the More Options > Make home page.
- Click Save.
Note: While normal and dependent pages can be set as an app's home page, principal pages cannot.
Setting page URLs
Page URLs—the web addresses end users visit to see a Nintex Apps page—are a combination of the app's URL and one or more URL path elements:
https://sub-domain.skuidsite.com/app-url/page-url
Once a URL is added and activated, end users can access the page if they have app access. Pages can also have multiple active URLs.
Apps are not deployed to end users until their pages have URLs set and activated, and end users have been given access to the app through either a site permission set or an app permission set. Feel free to test and edit your app's pages at their configured URLs until they are fully functional; your users won't be able to access the app until they have the correct permissions.
Note: One notable exception to assigning page URLs is the principal page type. Principal pages serve as structural templates for their associated child pages and cannot function on their own—thus they can't have URLs assigned to them.
To access a page's URLs:
- Click the More Options icon beside the page.
- Click Configure URLs.
From this modal you can take several actions:
To add a page URL:
-
Click
Add URL. -
Set the first path element's type to Text or Parameter.
Note: For information on the types of path elements, see the Path elements in page URLs section.
-
Enter a value for the path element.
-
If necessary, click
Add path element and repeat the path element process as needed. -
Click Save.
The URL configuration section closes, and the URL is added.
There are several actions you can take on each page URL from the More Options menu.
To enable or disable a page URL:
- Click the More Options icon beside the page.
- Click Enable or Disable as needed.
To edit an existing page URL:
- Click the More Options > Edit.
- Update the URL as needed.
- Click Save.
To delete a page URL:
- Click the More Options > Delete.
- Confirm by clicking Delete.
Path elements in page URLs
Path elements determine the structure of page URLs and are used to provide information about the context of the page. They can explain where the page sits in a site's hierarchy or provide data for the page to use in its components. Each path element can be a fixed text string or dynamic parameter. Path elements are added by clicking Add path element, entering the element's value, and clicking Save within the Configure URLs modal for a page.
Text path elements are static descriptors for the app's logical hierarchy. You can convey how related pages are grouped using them.
For example, consider example.nintex.app/marketing/dashboard .
- The app's URL is example.nintex.app/marketing
- The page's single path element is the text dashboard
However it's possible to have more dynamic URLs using a parameter path element. These path elements function as variables that can be used in the page. They are commonly used for passing in model condition values, like record Ids, to the page.
For example, consider example.nintex.app/marketing/promotional-materials/{materialId}
- The app's URL is example.nintex.app/marketing
- The page's first path element is the text promotional-materials
- The page's second path element is the parameter materialId
In this case, materialId is used to set the record Id of the promotional material item the user is viewing. The parameter element is what passes in the necessary information to the detail page.
A parameter can be made optional only if it is the final path element, as it's not possible to have a missing path element in the middle of a page URL.
Whether a text or parameter, a path element's value can only use URL-acceptable characters—letters, numbers, underscores, and dashes.
Using multiple path elements
Depending on the structure of your app, you may have many path elements for a single page. Text elements are useful for setting the hierarchy of your app, while parameters provide important contextual information.
As an example, consider an HR app that allows users to submit paid timeoff (PTO) requests and then review their requests as a list.
- This app is available at example.nintex.app/hr .
- The Nintex Apps page used to submit and review requests is located at example.Nintex Appssite.com/hr/pto/request
- This URL uses two text path elements. Because of these two path elements, users can understand how the page they are on relates to other areas of the app.
But the user may also want to review the details of a single request. To do so, there's a separate Nintex Apps page that shows the details of a single request available at example.Nintex Appssite.com/hr/pto/request/{requestId} .
- The URL has the two previous text path elements.
- It also contains a parameter element in addition to the previous two text elements. Using the {requestId}} parameter in a model condition allows the Nintex Apps page to query the proper details. By placing that after the previous two elements, the user still understands where they are in the app.
Depending on your page's setup, this could also be a good use case for an optional last parameter. To do so, the Nintex Apps page would need to contain detail view components that conditionally render if a requestId page parameter exists. With this setup, you could render the detail-related components of your Nintex Apps page when that parameter is available. If it isn't available, only the "list" view components renders. This may or may not work for your particular use case, but it is possible.
Files
The Files tab lists all files associated with the app. Files are typically used for images or JavaScript resources.
To upload a new file and associate it with the app:
- Click Upload.
- Select the file and confirm the selection.
The file is now uploaded and associated with the app.
To add an existing file to the app:
- Click Add.
- Select each file you wish to associate with the app—using the Search form to narrow the listed options as needed.
- Click Add.
Each selected file is now associated with the app.
Data
The Data tab lists all connections associated with the app. For more information on connection configuration, see the Data documentation section.
Note: Just because a connection is added to an app does not mean that users have access. Access to connections must be granted via permissions sets (either in the app or at the site-level). Also, if a connection—like SQL connections—uses more granular permissions, they must be set for each object. For more information, see the Permissions topic.
To create a new connection and associated it with the app:
-
Click Create.
-
Proceed through the connection creation process, which varies depending on your selected connector.
Note: It may appear that you have left the app's UI, but Nintex Apps tracks the app you began connection creation from.
-
After configuring all necessary connection properties, click Save.
You are redirected to the app's detail screen, and the newly created connection is associated with the app.
To add an existing connection to the app:
- Click Add.
- Click the checkbox beside each connection to add.
- Click Add.
Permissions
The Permissions tab lists all of the app permission sets created for the app. In contrast to site permission sets, app permission sets apply only when the user is visiting a page within the app.
To create an app permission set:
- Click Create.
- Fill out the permission set's information:
- Name
- Description
- Click Save and continue.
- Select the connections the app permission set should grant access to.
- If applicable, configure the connection permissions as needed.
- Click Save and finish.
For more information on permissioning concepts and management, see the Permissions topic.
Users
The Users tab shows all users who have access to the app, either through their site permission set or through one or more app permission sets.
Permission sets are an essential part of app deployment, because they determine which users have app access —and what they can do within those apps. Because of that, you'll often move back and forth between the Permissions and Users tab often—creating the necessary app permission sets in the former and ensuring all necessary users have app access in the latter.
Within the Users tab, each user is listed with the following information:
- First and last name
- User name
- Federation ID
- Their site permission set if it grants access to the app
- Any app permission sets granted to the user within the app
To add users to the app:
-
Click Add.
-
Click Add beside each user you wish to grant app access to—using the Search form to narrow the listed users as needed. To remove a user from the process, click Remove.
Note: Only users without app access appear in this list. Existing users cannot be selected here.
-
Click Next.
-
Select each permission set you assign to all selected users —using the Search form to narrow the listed permission sets as needed.
-
Confirm the selected choices and click Finish.
- If you'd like to remove a user at this screen, click beside the user.
When managing an app's users, there are two different detail screens within
More Options menu beside each user:- App user detail: Accessible by clicking More Options > Manage app access. This detail screen, which appears as a sliding panel in the Users tab, is used to manage a user's permissions within the context of the app. It displays the assigned permission sets that grant the user app access—whether that be a site permission set or one or more app permission sets—as well as some basic user information.
- Site user detail: Accessible by clicking More Options > Go to site user detail. This screen is used to manage a user's site-level details—name, email address, site permission set, and other settings.
Troubleshooting
My end users are seeing data access errors
Data access issues that occur only in specific apps typically have two main causes:
- Permissions: Ensure that users have the appropriate permissions assigned to them through their site permission set or an app permission set. For more information, see the Permissions topic.
- App resource association: If a connection is used in a page model, but not associated with the page's app, then end users could see errors. Ensure that all connections are added to the app.
If you are seeing issues in your models or connections in general, check that your connection settings are properly configured. See the Data section for more information.