Do I need a custom object? Or can I use custom fields on standard objects instead?
How do I create a Custom Object?
How do I edit a Custom Object?
Custom Objects are a powerful tool used by software developers and consultants to augment the functionality of a Neon CRM database. Custom Objects have been used to build custom web applications as well as integrations with other software platforms.
What are objects?
“Objects” are categories of data records. You can think of objects as tabs in a spreadsheet, “tables” in a SQL database, or simply a category of “thing” that needs to be tracked. Databases in general, not just Neon CRM, are made up of objects and the records in those objects.
What are standard objects?
Every Neon CRM instance comes with many standard objects we have designed for common nonprofit use-cases. Objects are linked in your top navigation and on the left side bar of account pages. Examples of standard objects in Neon CRM are accounts, donations, memberships, households, notes and activities. The main table contains Account Data. When you’re creating a new account, you might fill in gender, date of birth, and email address. If you were storing your data in a spreadsheet, you’d have columns for gender, date of birth, and email with one row per account.
However, sometimes there’s more than one record for a field value or you want to store the history of it. Donations have both of these characteristics: a donor could have more than one donation and we want to see the full history of each donation, so two fields on the account called “donation amount” and “donation date” aren’t going to cut it. We need a separate data table, with one row per donation.
Other tables exist by default in Neon: notes, events, mailing addresses, and activities, for example. In these places, you can store data that is linked to an Account but has multiple records or a history of record - multiple donations, several notes, history of activities, attendance at multiple events, etc.
What is a custom object?
If Neon CRM does not have a standard object for a type of data an organization needs to track, a custom object can be created to accommodate this data. Common examples include committee or board member service periods, scholarship applications, and animal adoptions.
At the most basic level, a Custom Object allows you to track a completely bespoke data record inside your CRM. Keep in mind that, by adding custom objects to your database, you are customizing it and making a data structure that is unique to your organization.
Objects are usually relational, having one-to-many or many-to-many relationships with other standard or custom objects. For an example with standard objects, one account can have (or be related to) many donations. With our animal adoption custom object example, one account may have adopted several animals, or many accounts may foster many overlapping foster animals.
Do I need a custom object? Or can I use custom fields on standard objects instead?
Before starting a custom object project, always first consider: can this data fit into a standard object in Neon CRM instead? Custom objects add additional layers of settings and features that could overcomplicate your Neon CRM instance if they aren’t really necessary.
First consider whether or not your data could be housed in custom fields on standard objects. Adding custom fields to standard objects can accommodate scenarios where the data is not one-to-many or many-to-many, but simply one-to-one.
Example: Do you need a custom object to track board member committees? That depends…
For example, let’s say your board members each need to choose one committee to serve on, and you are tracking this in Neon CRM. If your accounts can only ever be a member of one committee and that never changes, an account custom field “Committee Name” would suffice; no custom object needed. Or, if your accounts can change committees over time but you only care to keep a record of their current committee, the custom field “Committee Name” would also suffice. A custom object only becomes necessary if you want to keep a history of every committee the account has served on, especially if there are additional data points about their committee service you would like to track, such as their start and end dates.
Option: Create one or more custom fields on standard objects
When you create custom fields, you’re adding extra columns to the Account data table, Donation data table, Event data table, or any of Neon’s existing data tables. For example, if you want to track a person’s position on the Board of Directors (President, Treasurer, etc.) you could create an Account Custom Field and see that data on the “About” tab of each person’s account.
Option: Create a Custom Object
The Custom Object tool in Neon allows you to create a new data table in the system. If you’d like to not only see the individual’s current position on the Board of Directors, but also know about their position during previous years - the full history of their board service - a Custom Object will allow you to create multiple records of board service attached to one individual account in the system.
How do I create a Custom Object?
Administrators can create a custom object.
To create a custom object:
1. Select the Settings cog in the upper right corner of the screen.
2. Select Global Settings on the drop-down menu.
3. Select Custom Objects under the Developer Tools heading.
4. Select New Custom Object on the Custom Objects page.
How do I edit a Custom Object?
Administrators can edit a custom object.
To edit a custom object:
1. Select the Settings cog in the upper right corner of the screen.
2. Select Global Settings on the drop-down menu.
3. Select Custom Objects under the Developer Tools heading.
4. Select the custom object you wish to edit on the Custom Objects page.
5. Select the Active toggle in the upper right corner of the page to Inactive.
6. Make any needed changes while the custom object is in Inactive status.
7. Select Save or Save Settings in the applicable section(s) of the custom object's information page, as applicable for the change(s) you make.
8. When all changes have been made and saved, select the Inactive toggle to return the custom object to Active status.
Features of Custom Objects
In addition to creating a new data table in your CRM, Custom Objects have several useful features:
-
The Custom Object can appear in your Navigation Menu and in a tab on linked accounts.
-
Custom Objects can have a dedicated report in Reports New Report.
-
If you would like to accept submissions to the Custom Object from constituents, you can create front-end forms to accept data. These forms include the data fields you’ve created for the Custom Object table and they can accept uploaded documents.
-
An email notification can be sent upon the creation of a custom object, akin to a system email
-
If you choose, logged-in constituents can view a list of their custom object records. For example, the Board Member could log in and see a list of their Board service history.
-
Custom Objects are exposed to Neon’s Open API, and can be used in more complex custom projects.
-
Activities can be linked to Custom Objects, similar to the way they can, by default, be linked to a Prospect or Grant record. For example, if you wanted to track attendance at board meetings as part of the Board Service record, you might add an activity for each meeting attended.
-
Custom objects have system user permissions that can be set as granularly as the field-level.
Limitations of Custom Objects
-
Custom Objects cannot process transactions.
-
Custom Objects are not available in Workflows.
-
They have limited front-end forms. Not a lot of account data is available on front-end forms. For example, you cannot supply an address there.
-
Unlike account standard & custom fields, logged-in constituents cannot edit their custom object data, only view past records or submit new records.
-
Custom Object data can only be included in Custom Object reports and All Accounts reports. It can not be referenced in other types of Neon CRM reports (email audience reports, stats report, transaction reports, etc.).
Custom Object Fields
Most custom object field types are similar to regular custom fields, but there are a few unique field types with custom objects to note:
Key Field: A key field is typically an ID. For example, the Account ID is the key field for Accounts. Custom Objects, however, can also use text values as their key field, which is preferred if your object is being used in a Lookup field on another object. Otherwise, Auto-ID numbers are preferred for ease of use.
Note: you cannot change the key field type after the object is created without assistance from our data team.
Master-detail: For one-to-many relationships, the “master” object can be associated with many “detail” objects. The most common scenario is an Account being the “master” - or “owning” - many objects. Master-detail fields are always required fields.
For example, most standard objects have accounts as their masters. One donor is the “master” record of their many “detail” donations - and a donation can’t exist without a donor.
Lookup: Lookups are like optional master-detail field. For example, the system user field on the standard Activities object in Neon CRM: it’s not required to assign an activity to one of your staff members, but the option to create the relationship is there.
Formula: An advanced feature, formula fields can make calculations based on other fields. They are most commonly used to display data from related records directly on the custom object record.