A Custom Options field is a drop-down list whose choices come from an external system, fetched by a REST call when the form loads. Use it where the list lives somewhere else and has to be current - stock items from an inventory system, projects from a job costing package, addresses from a directory.


For a list that comes from records in DocMgt, or from data you can express as a variable, use an ordinary Option List instead - see the end of this topic.


Settings

Custom URL - The address to call. Variables and {field} references are replaced when the form loads, so the call can be narrowed by something the record or the user supplies.


Calling Method - GET or POST.


Username and Password - Credentials for the call, where the service needs them.


Reading the response

Three settings say how to find the choices in whatever comes back.


Array Property - The property in the response that holds the list. Where the service returns the array at the top level, this can be left blank; where it returns something like a results or items wrapper, name it here.


Display Field - The property in each entry that the user sees.


Value Field - The property that gets saved. As with any option list, these two are often different: the user picks a name and the form saves a code.


Display

Field Placeholder - The prompt shown before anything has been chosen.


Default Value - The value selected when the form opens.


Points to watch

The call is made when the form loads, so a slow service makes the form slow to appear and an unavailable one leaves the list empty. Where the list is long or the service is not quick, consider whether the values could be brought into DocMgt on a schedule and read from records instead.


The credentials entered here belong to the form, not to the person using it, so every user's call is made as the same account. Treat the field as a way to read a reference list rather than as a way to reach anything sensitive.


Custom Options or an Option List?

An ordinary Option List can already fill itself from data through its Dynamic Source setting, using a [DMGETOPTIONS()] variable for records held in DocMgt or a REST variable for data held elsewhere, and it brings with it everything else an option list can do - syncing with a record type, filtering by another field, an "Other" entry, letting the user add a value. Reach for Custom Options only when the list genuinely comes from an outside service that needs its own address, method and credentials.