Every installation of Skedulo comes with a standard set of data objects and fields that we use to power the app. Custom fields are any fields added to the existing Skedulo data structure provided within your service platform (CRM).
While it is inadvisable to edit or remove this existing data structure (as doing so may stop Skedulo from working), you can add new fields to the existing objects—or add entirely new objects, that can then be used within the Skedulo app.
Adding a Custom Field
Adding a custom field to one of Skedulo's existing data objects should be done through the normal process of adding fields to objects provided by your service platform.
Note: Only custom fields on the "Jobs" object will appear on the Skedulo mobile app.
For this example, we will go through adding a custom field named "Cause" to the Skedulo "Job" object using the Salesforce CRM.
To begin, go to the "Custom Objects" page within Salesforce and select the "Job" record (this record will have "Sked" as the Installed Package). The custom objects page can be found at the following location:
Setup > Build > Create > Objects > Job (Edit "Job") > Fields & Relationships
Figure 1. An example showing how to locate the object named job using Salesforce Classic.
Same process as with Salesforce Classic–only the location of the custom objects page is as follows:
Setup > Object Manager > Job > Fields & Relationships.
Figure 2. An example showing how to locate the object named job using Salesforce Lightning.
Adding a New Field in Salesforce
From the "Job" object, add a new field clicking the "New" button.
Note! If the "New" button is not available, then you do not have permission to add new fields within Salesforce. Please contact your system administrator to update your permissions.
- Choose the field's data type. You can select the provided data types; however, if you select one of the relationship data types (lookup relationship, master-detail relationship or external lookup relationship) then the field becomes a reference custom fields. Reference custom fields are linked to another object in Salesforce; this can be a standard Skedulo object or a custom object that you have added to the system. If you are going to a reference a custom object, then please refer to the "Referencing a Custom Object" section. For our example, we will select the "Text" data type.
- Set the details of the field. These settings will change depending on the data type selected, but for this text field, we will set the label as "Cause" and set a maximum length of 100 characters.
- Accept the default security settings provided.
- Final summary. Provides a final review of the field we are adding before we save the details.
Figure 3. Step one, showing a text field selected.
Figure 4. Step two, showing the field label, field name, and length defined.
Figure 5. Step three, showing the default security settings.
Figure 6. Step four, showing a final summary of the new field named "Cause."
Once you have saved the new field, it should appear in the "Custom Fields & Relationships" section of the job object page.
Figure 7. An example showing the new field named cause added to the job object in Salesforce Classic.
Also, see Admin Settings: Custom Fields.
Note: Creating "Auto Number" custom fields (ANCF) in Salesforce—unless the checkbox "Generate Auto Number for existing records" is ticked (during its creation), you may experience issues where they do not backfill values to existing jobs.
Figure 8. Creating a new auto number custom field.
Referencing a Custom Object
If you set up a custom field that references a custom object (i.e., an object outside the standard set of Skedulo objects) then you must ensure that object has the following fields:
- UID–the unique key field for records of this object.
- Name–a descriptor field that will be used when displaying records of this object.
Important! If you do not define these fields on the referenced custom object, then the Skedulo app will not be able to render the custom field correctly.
You will also need to ensure that the user's of Skedulo have permission to access these objects. For Salesforce, this may mean using a "Skedulo Permission Set" that allows "Read" access to this the newly created object (e.g., Skedulo's Baseline Permission Set). Then assign it to users as needed.