Customize everything related to your App, from its name to its layout.
User Permissions: Only Administrators or App Admins can customize Apps.
This tutorial will cover the following topics:
App Settings
There are two ways to access your app settings.
1. Navigate to Settings > Apps and click on the app you'd like to edit.
2. On the FreeAgent Apps home screen you'll see the settings menu icon appear when you hover your cursor over an app icon. Click on it to enter the app settings.
By default, you'll be taken to the General settings tab.
1. General
Select an Icon for your App
The icon you select will be available in the Menu and in the Apps Home Page. You can add it to the Card Configuration as well.
Change the Name
Update the Name Singular Version
These two options will allow you to update your Apps name. It is recommended that you use the same name for both fields making sure to use the plural form in the Name field.
Add a Description
Provides more information about your app and it is visible under the Apps Home Page.
2. Access Control
Enforce Individual Access
If this option is enabled it means that any user with an Individual Access Level will only be able to see the records assigned to them.
3. Form Script
Selecting yes will allow Admis to use code in their apps. In this low-coding environment, you can configure a custom Form Script to easily create and control all your Form Rules and Actions from one place.
As with Form Rules, Form Scripts will give you full control of the Form Fields in each of your Apps. The core functionality has been retained, expanded upon and made simpler. Now you can compile all your chosen parameters within a single Form Script.
While code is required to create Form Scripts, it is minimal and easy to set up.
Once 'Yes' is selected a box for your script will appear.
Enter the custom code for your Form Script and click Save.
Notice that when you enter a Form Field through the 'CTRL + space' command your available Fields will show up by their Field Name. Once selected they will auto-convert to the System Name of this Field. This is to promote continuity and performance of your Form Scripts across FreeAgent.
Setting Up Form Scripts
All the functionality of Form Rules remains, such as the ability to show/hide line columns, make fields mandatory, make fields visible, reset fields, etc. You will still define your Rules via Form Actions, these will now be lines in your code script.
The existing Form Actions available when setting up a Form Rule are readily available in Form Scripts along with other functions that will help you add, define and change Rule parameters quickly from a single place. Let's take a look at these actions and how they are represented in the code script.
You'll notice in the following table that whereas Form Rules had a separate section for Conditions, Form Scripts allow you to set the conditional values directly in the code line along with the Action.
Form Actions Table
Once you've enabled the Form Scripts window by selecting 'Yes' in the Use Form Script field, you will be ready to assemble and edit the code you use to define your Rules. Here are the supported Actions and corresponding code.
FORM ACTION | CODE |
Add Validation to a Field | addFieldValidation: (fieldName, validationCallback) |
Change a Field | fieldChanged: (fieldName) |
Make Fields Read Only | makeFieldsReadOnly: (fieldNames, value) |
Make Fields Required | makeFieldsRequired: (fieldNames, value) |
Make Fields Visible | makeFieldsVisible: (fieldNames, value) |
Make Line Fields Read Only | makeLineFieldsReadOnly: (lineApp, fieldNames, value) |
Make Line Fields Required |
makeLineFieldsRequired: (lineApp, fieldNames, value) |
Make Line Fields Visible |
makeLineFieldsVisible: (lineApp,fieldNames, value) |
Reset Fields | resetFields: (changedField, fieldNames) |
Set a Field Value | setFieldValue: (changedField, fieldName, value) |
Hide or Show Columns in Lines | makeLineFieldsVisible: (lineApp, fieldNames, value) |
Make Columns Read Only in Lines | makeLineFieldsReadOnly: (lineApp, fieldNames, value) |
Make Columns Required in Lines | makeLineFieldsRequired: (lineApp, fieldNames, value) |
Example Form Script
Take this sales stage example which replaces a Form Rule scenario with 3 Form Script Actions in a simple bit of code.
(function(form, context){
//If deal sales stage is 'Closed Won', make amount and closeDate readOnly, set status to closed
if (form.deal_fa_field16 === '69dcb80b-ebb8-43cb-ab61-b23596ac800f') {
context.formActions.makeFieldsReadOnly(['deal_fa_field0', 'deal_fa_field8'], true);
context.formActions.setFieldValue('deal_fa_field13', false);
}
}(form, context));
4. UI Preferences
Customize your App's title.
It allows you to customize the Name shown at the page level for your Apps. All you need to do is select from one of the available fields. Only Text & ID field types are available.
Note: This will also change the information displayed in the dropdown for the Reference fields to the App.
Choose a Custom Color
This color will be used to identify your App both in the menu and on the Apps Home Page.
Info Panel Layout & Form Layout
This will determine the form layout for the information panel and the form in your records, as it can be displayed as a single-column or a double-column layout.
The single-column layout is recommended for those apps where you have a small number of fields.
However, if you have multiple active fields for an app, we recommend switching to the 2 columns layout, as it will divide them into those two columns, giving you better access to all your information.
Note: You can select the 2-column form layout from this menu but keep in mind that this only works for 'Create' and 'Bulk Updates'. If you'd like to use 2 columns on 'Edit' you'll need to make that change in 'Workspaces'.
Enable Quick Add
If set to 'Yes' it will display an additional field where you can add custom code for the Quick Add logic. This will allow your team members to easily create new records for other Apps right from the Related List of the record's details.
Since the Configuration for this feature is code-based, it means that the administrator has full control over the information you will need to add in the Quick Add section in order to create the record.
Below we have a code sample that will allow you to Quick Add Contacts. If you would like to use this feature, but you are unsure of what the code should look like, contact our support team through the support chat.
Code Sample
With this example, you can 'Quick Add' a contact just by adding the first name, last name, and email address, right from the Contacts Related List in any of your Apps.
(function(input, contact, parent, context){
let values = input.split(","); let fields = {
first_name : "",
last_name : "",
work_email : null
}; Object.keys(fields).forEach( (val,index) => {
if(index < values.length){
fields[val] = values[index];
} }); return {
logo_id : parent.record_id,
... fields
};}(input, contact, parent, context));
Show Stage Progress
Check this box if you use a "Stage" Choice List and would like to see a visual representation of your records in the detailed view.
Here's an example of what this looks like when enabled. Here you can see the stage progress for this record within the Deals app.
You can see the amount of time the record was in each stage. And if you hover your cursor over a stage you'll get a pop with even more detailed information regarding the stage history.
You also have the option of choosing stages that represent a positive outcome or a negative one.
The positive outcome will show as green and the negative as red in the detailed view of the record.
Speed to Lead
Admins can activate "Speed to Lead" reporting for the Contacts app. Once activated, a job will run populating historical data for all Contacts.
The following virtual fields will be available for reporting:
- Speed to Email
- Speed to Call
- Speed to Text
- Speed to Lead
- First Email
- First Call
- First Text
- First Response
This enables new tools for reporting that you can add to your views. These fields are populated automatically based on the last activity in the contact record.
5. Privacy Preferences
Allowing private records will enable you to flag individual records as "Is Private" to control whether they can be accessed by the team or are confidential to the user.
Allowing Private Records will also enable an App Action button that will allow you to toggle between 'Make Private' and 'Make Public' when working with these records. Records can then be set to be public or private by default.
FreeAgent recommends allowing private records only in Apps when a specific use case applies. e.g. marking Emails as public or private.
6. Sort
Here you can add your default sorting rules for your App. You can add more than one rule if desired. It is a great way to get, for example, a list of contacts sorted by First Name. If some contacts share their First Name, you can add a secondary sort for their Last Name.
And if for some reason, you have multiple contacts with the same full name, then you can add another sorting option to see them in the order they were first created.
You can set the sorting order for each rule you add to Ascending or Descending.
7. Unique Feilds
8. Search Preferences
Manage the fields used when performing searches in the search bar for each of your Apps. This will give you full control over the search function in FreeAgent as you can add or remove existing fields from this configuration to get the results you need.
By default, all existing apps will have a set of fields already selected in the Search Preferences field.
To add fields, just click on the field and the available fields will be displayed, select the one you would like to include in the search function and continue this process until you have all the fields you require. Currently, the 'Location' field type is not available in the Search Preferences.
Line fields can also now be included in your app search preferences.
To delete a field from the search function simply click on the 'X' available right on the right-hand side of the field name.