DevRev lets you extend the built-in objects in your workspace by adding custom fields and subtypes. This allows you to capture data specific to your organization's processes without leaving the DevRev platform. Objects are the core entities in DevRev that represent the data you work with, issues, opportunities, contacts, and accounts are all objects. You can read more about how identity, parts, and work items work in core concepts.
With object customization you can:
Add custom fields to any supported object or subtype, alongside the pre-existing fields.
Create new subtypes to extend an object's capabilities for specific workflows.
Associate objects with stock objects such as tickets or contacts, as well as custom objects.
Use Cmd+K to quickly find and access object records.
Here's how objects and subtypes relate in DevRev:
๐ Note: All write actions described in this article, adding fields, creating subtypes, publishing changes, require workspace admin permissions. Other members of your workspace can view custom fields and subtypes but cannot modify them.
Object customization in Settings > Object customization is available for the following object types in the UI:
๐ Note: Additional object types such as Incidents and Meetings support custom fields and subtypes via the API. See the developer documentation for details on programmatic customization.
From the Settings page you can view all existing objects and their subtypes. To include deprecated objects in the list, select Show deprecated objects.
Salesforce-imported fields (app fragment fields)
If you've connected Salesforce via AirSync, custom fields from Salesforce Accounts and Contacts are synced into DevRev as app fragment fields. These are different from custom fields you create yourself in Object Customization.
App fragment fields do not appear on the Object Customization page and cannot be managed there.
They are visible on individual Account and Contact records in the UI (once the Salesforce sync has created or updated those records).
They cannot currently be used as filters in the Object Customization page. Showing app fragment fields in Object Customization is planned as a future enhancement.
For more on how app fragments work, see the developer documentation.
Go to Settings > Object customization and select the object or subtype you want to add a field to.
Click + New field to enter edit mode, then fill in the following details:
Field name: Provide a clear, descriptive name that indicates the field's purpose.
Field type: Select the kind of data this field holds. The available types are:
Text: Stores unformatted plain text. For example, a short label or identifier.
Rich text: Stores formatted text, including bold, headings, code blocks, and ordered lists.
Number: Stores whole integers. For example, a count or priority score.
Double: Stores decimal numbers. For example, a revenue figure or percentage.
Boolean: Renders as a true/false toggle. Users switch the field on or off; it does not accept numeric input.
Dropdown: Presents a list of predefined options. Add options using Dropdown options > + Add in the value definitions section. This field type corresponds to an enumerated value set.
Timestamp: Stores a date and exact time.
Date: Stores a calendar date. For example, Date of bug identified: 19/07/2024.
Part, User, Customer, Account, and Workspace: These are reference fields, they store a link to another object of the specified type rather than a free form value. Specifically:
Part: Links to a part this object belongs to, such as an enhancement, feature, capability, runnable, linkable, or product.
User: Links to one or more users in the workspace.
Customer: Links to an existing customer workspace.
Account: Links to a customer account.
Workspace: Links to a workspace.
Value definitions: Configure how the field behaves:
Allow multiple values: Toggle on to allow users to enter more than one value in this field. Availability depends on the field type.
Required field: Toggle on to make this field mandatory. Required fields display a red asterisk, and an object cannot be created without filling them in.
Default value: Set a pre-populated value that users can override.
Placeholder text: Add hint text visible to users before they enter a value.
Group name: Assign a group name to collect related fields under a collapsible accordion in the object form.
Field visibility: Choose how the field is displayed to users.
Field actionables: Select which actions are available for this field, such as grouping, filtering, and sorting.
โ ๏ธ Warning: The filterable setting cannot be changed after the field is created. Decide whether this field should support filtering before you publish it.
Tooltip: Add a short description that appears when a user hovers over the field.
Description: Add an internal note about why this field was added. This is visible only to admins.
Click Save to draft to stage your changes.
โ ๏ธ Warning: Draft changes persist only within your current browser session. If you refresh the page or close and reopen the app before publishing, all unpublished changes are permanently lost.
Review your staged changes, then click Publish changes to make them live.
Refresh the page to view the object in published mode.
To edit or delete a custom field, click the โฎ icon next to the field and select Edit or Delete. Edit mode shows all recent staged changes. Before deleting a field, confirm that no important data will be lost.
For information on controlling who can view or edit specific fields, see field-level permissions.
You can add a new subtype to an existing object to represent a more specific category of that object with its own fields and behavior.
Go to Settings > Object customization and click + to the right of Objects. A New subtype dialog appears.
Provide a name and description, select the parent object this subtype belongs to, then click Proceed.
Click Edit in the top-right corner to enter edit mode for the new subtype.
Add the custom fields you need, following the steps in Add a new field to an object or a subtype.
Click Publish changes to make the subtype live.
To deprecate a subtype, click โฎ next to the Edit button and select Deprecate subtype.
๐ Note: Deprecating a subtype does not affect existing instances linked to it, they remain unchanged. However, users must restore the subtype before they can edit those instances. To restore, go to Show deprecated objects, click โฎ next to the subtype, and select Restore subtype. No new instances can be created using a deprecated subtype.
In addition to custom fields and subtypes, you can customize the stages that objects move through. Stage diagrams can be configured per object type and, where subtypes are in use, per subtype. For details, see the stage customization article and the guide to subtype-specific stage customization at support.devrev.ai.