## Intro to apps

Learn about the types of apps you can set up

### Overview  
Apps give you the flexibility to use Assembly for exactly what your team and clients need, and let you disable what you don’t need so that you can keep the user experience simple and modern. You can turn on just a single app, like the Payments App **,** if you just want an easy way to invoice clients. Alternatively, you can enable dozens of apps to provide your team and clients with an all-in-one experience.

### Best practices  
It's quick to enable or disable apps, and the impact on the client experience is seamless. This is why we recommend you start simple with just the apps they need, and add complexity over time as more functionality is needed.

### Types of apps  
Apps can be client-facing or internal-only, and this is represented by **visibility.** In addition, apps can be created by Assembly, a partner, or custom-made, and this is represented by the **App creator.**

#### Visibility  
| App type        | Definition |
|-----------------|------------|
| Client-facing    | Client Apps are apps that are visible to your team and clients. For example, the Messaging App is a Client App because clients can also view and send messages. |
| Internal-facing    | Internal Apps are apps that are not visible to your clients. For example, the QuickBooks App is an Internal App because clients cannot see it. |

#### Type  
| App type        | Definition |
|-----------------|------------|
| App             | An App, like our Payments App or Messaging App, is secure and generally highly interactive and feature-rich. Apps can be made by Assembly (and this is indicated in the app directory) or by one of our approved partners. |
| Embed           | An Embed, including the Airtable Embed or Calendly Embed, is a simple iFrame that's visible in the Assembly Dashboard for your team and in your portal for clients. We've listed some of the most popular Embeds in our documentation, but you can technically connect any product that supports embedding. |
| Link            | A Link is a way to direct clients to an external website. Usually, we recommend using Embeds because it makes for a more integrated experience, but for applications that block embedding, Links are a good alternative. |
| Custom App      | A Custom App is an app that is built by you or one of our software partners exclusively for your workspace. |

#### Embed setup type  
App Setup Types

# App Setup Types

## Learn how Apps can be configured to be available to all clients, or only to specific clients or companies.

### Get Started

Client embeds can be configured to be available to all clients or to specific clients only. When adding a Client Embed, you'll select the **setup type** from the dropdown.

**Automatic setup** means the embed is visible to all of your clients and can be set up in a single step. For example, if you want all your clients to be able to schedule a call with you using Calendly, you will probably want to use an automatic app.

**Manual setup** requires manual setup for each client, group of clients, or company. For example, if you are sharing a project status dashboard from Airtable, you will probably want to use a manual app because each client would have their own project status dashboard.

For manual setup, you will not be able to embed the content during the initial setup; you'll need to manually connect the content for each client after creating the app.

#### Previewing Client Apps  
To preview the app as a client, connect the app to your test client. Then, click _Portal_ at the bottom of the sidebar and click _Open portal_. Once you're logged in as your test client, you'll be able to view the connected app.

### Organizing your apps  
**Reordering apps**
You can control the order that apps appear in the sidebar for both your internal dashboard and the client portal. To reorder, navigate to the [_App Library_](https://dashboard.assembly.com/app-setup) page and drag apps into the order you'd like. The app at the top of the list will be the default landing page for clients when they log in.

**Creating folders**
If you have a lot of apps — especially embeds — you can group related ones together using folders. Folders appear in both the internal sidebar and the client portal sidebar, and help keep navigation clean and organized. For example, you might group several analytics embeds under a single "Analytics" folder.

To create a folder:
1. Navigate to the [_App Library_](https://dashboard.assembly.com/app-setup) page.
2. Click _**Add folder**_ and give it a name and icon.
3. Drag apps into the folder to group them.

You can reorder folders the same way you reorder apps — just drag them into position.

**Adding a new app to a folder**
To add an app you've already installed, simply drag and drop it into the folder. To add a new app directly to a folder, click the menu button **(...)** next to the folder and select _**\+ Add app to folder**_ _._ This will take you to the app directory where you can select and install a new app straight into that folder.

You can reorder folders the same way you reorder apps — just drag them into position.

**Hiding apps and folders from the internal sidebar**
If you want to keep your internal sidebar clean, you can hide any app or folder from it without affecting what your clients see. To do this, click the menu button **(...)** next to the app or folder and select _**Hide from internal sidebar**_ _._

**Folder visibility**
Folder visibility is automatic. A folder will only be shown to a client if at least one app inside it is visible to them. If none of the apps in a folder apply to a given client, the folder is hidden entirely. This means you don't need to manage folder visibility separately.

### URL Parameters  
You can add URL parameters to embeds in the _Manage URL Parameters_ section when creating any app that is an automatic embed. This is applicable to embeds that accept URL parameters, such as the Forms app, which supports these parameters to auto-fill form fields.

To add URL parameters, click _Add parameter_ to add a query parameter. Enter the parameter in the _URL parameter_ input, and the value in the _Property_ input.

For example, if you have a Jotform that supports pre-filled forms, you can add the required parameters to support pre-filled forms for your clients.

#### Supported properties  
**Clients**
- ID (Assembly UUID, used as a unique identifier for a client)
- Email
- Given (first) name
- Family (last) name

Also, if you have custom fields for clients, these field types will also be available as properties in the Clients section of the Property dropdown.
- Phone number
- Address
- URL
- Text
- Number
- Email

If you have renamed any of these field types, you will see the name of your custom field displayed in the list.

**Note:** Tags custom fields are not supported as properties for URL parameters.

**Companies**
- ID (Assembly UUID, used as a unique identifier for a company)
- Name

Also, if you have custom fields for companies, these field types will also be available as properties in the Companies section of the Property dropdown.
- Phone number
- Address
- URL
- Text
- Number
- Email

## Frequently asked questions  
What if my app does not embed?  
**Restricted Embeds**
Some websites or applications have a policy that restricts link or iframe embeds in external applications. If you try to embed an app that has these restrictions, you will see an error after pasting the link or code into the content box.

It is still possible to connect these apps as Partner Apps using the Connect as link setting. Instead of embedding directly into the portal, the connected content will open in a new browser tab. The Partner App will appear as a regular item in the client's sidebar, but the link will open in a new tab when the client clicks on the app.

**Unsupported Embeds**
Some apps that offer external embeds cannot be supported by Assembly because the embed code contains JavaScript or other unsupported HTML tags. This is seen most commonly in widgets or other interactive embeds.

How can I customize my apps?  
There are multiple ways you can customize your apps. To do so, navigate to the _App Setup_ page. Click Edit on any app to:
- Delete or disable the app
- Change the app's icon
- Update the content of Partner Apps
- Change the global settings for Assembly Apps

You can reorder the apps directly from the _App Setup_ page by dragging and dropping the apps in your preferred order.

*Note: When apps are reordered, the changes will not be visible to internal users, but they will be visible to your clients in their sidebar.

How can I disable or delete apps?  
You can disable core Assembly Apps and delete Partner/Custom Apps on the _App Setup_ page in your sidebar.

Click the ellipsis next to the App to go to the App's setup page. At the bottom, click Disable if it's a Assembly App (Messages, Files, Forms, Billing, Helpdesk/Knowledge base) or Delete if it's a Partner or Custom App.
