Custom Attributes for Relationships
What's a Custom Attribute Set?
Basic relationships (also called "contacts" or "entities") in MonkeyPod track a limited amount of very standard data. Mostly it's contact information, although there are a handful of role-specific fields as well (e.g., "Publish name as" for donors or "1099 Eligible" for vendors).
But if you're like most organizations, then you need to track tons of highly specific data about your constituents that goes way beyond those basic fields. That's where custom attributes come in.
A custom attribute set is a group of attributes that apply to some or all of your constituents. For example, a membership organization might track a "Member Application" as a custom attribute set, while a healthcare facility might create a custom attribute set for "Patient Intake Form".
You'll use roles to determine which attribute sets apply to which relationships. An attribute set can be configured to apply to any specific role, or to multiple roles, as warranted.
When you're viewing a relationship with a role that comes with a custom attribute set, that attribute set will be visible as an additional tab in the view. (Keep in mind that attributes flagged "Sensitive" won't show up unless the user has the necessary permissions.)
So what are these attributes anyway? Glad you asked...
Custom attributes refer to specific data or characteristics about your constituents. They are highly configurable based on data type (e.g., text, true/false, image, file upload, etc.) and can also be configured to use a specific type of form field (e.g., short text input, long text input, checkboxes, select list, etc.)
Once you've created some custom attributes, you can add them to a role-based attribute set.
Special Case: Dynamic Attributes
Dynamic attributes can be a bit complicated, but they're also a powerful tool for categorizing your relationships in meaningful ways. In essence, a dynamic attribute is a "flag" on relationships that match certain criteria. Your database is monitored and updated around the clock. Relationships that match the criteria are assigned the attribute. Likewise, the attribute will be removed from anyone who previously met but no longer meets the criteria.
Creating a Dynamic Attribute
Unlike other attributes, you'll begin your journey by searching your relationships. Fine-tune your search parameters to match the relevant criteria. Then save the search with a descriptive name. Now (or at any time in the future) when you load those saved search results, you'll have the option to Create a Dynamic Attribute. Ta da! (Keep in mind, you'll still need to add it to one or more attribute sets for it to appear on your relationships' records.)
Be Patient... Dynamic attributes are recalculated automatically roughly every hour on the hour. So if someone matches the criteria at 1:05pm, they generally won't be assigned the attribute until 2:00pm (or 2:15pm at the latest).
Dynamic Really Means Dynamic
Because your attribute is calculated based on a saved search of your relationships, if you change the parameters of that search, then you will also be changing the parameters of the dynamic attribute. For example, if you have a dynamic attribute for "NYC Metro Area", you might associate it with a saved search of anyone within 25 miles of Times Square. If you later decide to change that search to find people within 50 miles of Times Square, then that change will be reflected in your "NYC Metro Area" attribute.
Beware of Self-Referencing Parameters!
The saved search attached to a dynamic attribute cannot, of course, rely on the attribute itself.
For example, if you have a dynamic attribute for "Lapsed Donor", the saved search parameters for attached search may not include the Lapsed Donor attribute. (Instead, you might search on this year's giving totals vs. last year...)