Basics:Custom Fields

From Cerberus Helpdesk Wiki

Jump to: navigation, search

This is one of the few features in the Helpdesk where the name itself tells you exactly what it is. "Custom Fields" isn't like "Watchers" or "Broadcast", where the name won't make a lick of sense until you learn more about the feature. In this case, you can break the name into two parts: "custom" and "fields", and it's pretty obvious what you're getting into. "Fields" refers to data fields, or forms of input, you use every day when working with computers such as simple checkboxes or text boxes. The "custom" part of course implies you can create your own original fields beyond what the Helpdesk offers; to be clear you can't create your own types like a crazy checkbox/text hybrid, what we mean is you can make a new field similar to what we offer, and just give it your own name or label to use for whatever you want.

If you're relatively new to the Cerb system, meaning you're comfortable with all the fundamentals but as an administrator you haven't really looked into some of the advanced features, custom fields is the perfect place to start building from. Almost every major feature supports custom fields on some basic level, and custom fields are also the driving force behind many advanced workflows where a couple of different features need to work together.

Contents

Why Custom Fields?

Just about every thing in the Helpdesk has one or more stock "fields" you can set or modify as you please. Tickets have a group/bucket dropdown ("picklist" in Cerb terms), organizations have several text boxes for filling in a client's work address (street, city, state, zip code), and tasks have "due dates" and a "completed" checkbox.

Overview of fields tasks.png

All of these are standard fields the developers went out of their way to include, things that captured a certain property or idea they felt everyone would benefit from. Custom fields are so important because they give you additional fields of your choice to expand beyond what we already give you, the key being custom fields work exactly like the regular fields -- the same types (text fields, checkboxes, picklists) are available to choose from and they can be attached to the same objects (tickets, tasks, opportunities). The only real difference is that you get to give them whatever name you want to derive your own "meaning", and that's what the "custom" in custom fields represents.

How do Custom Fields work?

Custom fields can be attached to just about all the different source objects you find in Cerb. For instance you could attach your own unique fields to contact addresses, and some other user-created fields to all your tasks. As you browse around the Helpdesk, any place where our default fields are found, a custom field could be there too. Here's a handful of screenshots of different pop-up windows, tabs, and functions, where you might see custom fields in the wild. Remember even though custom fields are attached to lots of different objects, a lot of the places where they are used look identical because these objects share the same interface; for example, tickets and tasks both use an 'Edit' Properties window to set fields.

Peek

Clicking Eval peek.png (peek) will open a pop-up window, and below the standard fields you'll see your custom fields; ticket peeks technically have two tabs, 'Message' and 'Properties', click over to 'Properties' to see the fields.

Custom fields peek.png

Other objects that don't technically have a (peek) button still use the same "peek"-style window; feedback has an '(edit)' link and you simply click e-mail addresses to show their respective fields.

Bulk Update

The button for "mass changes" is usually found at the bottom left of a list. Upon clicking 'Bulk Update' you will find a list of "do" actions, and below that will be your custom fields. Any values you set here will apply to all the items you checked (or the whole list if you chose that "With" option).

Custom fields bulk update.png

Worklist column

From any list, click 'customize'. The custom fields will be optional columns you can expose; each list will have its own fields (tickets, tasks, opportunities, etc.).

Custom fields worklist columns.png

Edit button Properties tab

Starting in 5.1, the 'Properties' tab for an object is now inside the 'Edit' window. In the past, a ticket for example, would have its own 'Properties' section next to 'Conversation', that entire tab has been moved. Click the 'Edit' button near the top of the page and you'll see your custom fields.

Custom fields edit button.png

Organizations (I believe) is the only object left that does not use the 'Edit' button interface, and still has the old 'Properties' tab on the page itself.

Search

Most objects in the Helpdesk can be searched through. To start searching for a specific type of thing you will usually have to visit its individual tab. Let's check out tasks as an example, since it has very few search filters to wade through. In the 'Add Filter' dropdown (right box) all the stock fields are included (Completed, Completed Date) plus any custom fields you added; unlike the 'Properties' tabs, there's a convenient "custom fields" label that separates them from the rest.

Add filter custom fields label.png

Your custom fields get the same treatment as the regular search fields. Depending on the type of field you can search based on text matches, date ranges, or status (yes/no).

Custom fields search.png

Custom Field Configuration

As we've been discussing, custom fields can be attached to a variety of Helpdesk source objects -- when I say the word "sources" or "objects", in Cerb-speak I'm referring to the bigger concepts like tickets, tasks, and opportunities. Most of these are pretty self-explanatory, and a lot of the examples we just went over covered how a couple of the more prominent ones work. There are a total of 10 different sources you can take advantage of, but half of them need to be enabled ahead of time.

Click 'helpdesk setup', 'Plugins & Features' and enable each of the following:

Features plugins custom fields.png

When you're done, head on over to the 'Custom Fields' tab (also in 'helpdesk setup'). On the left sidebar you'll see all the sources we enabled plus the stock set.

Setup custom fields sources.png

Knowledgebase Articles & Community Portals

All of these sources should look familiar except for maybe these two; for those who've checked out the 'Custom Fields' tab before, these are new to the custom field scene starting in 5.0. And because they have radically different interfaces and public components, it's probably not obvious how to use their fields.

Custom fields knowledgebase.png
Custom fields community portals.png

Creating your first Custom Fields

When it comes time to create your custom fields, you start by choosing what object you want them to work with. Here I've clicked 'Address' from the left sidebar and added a few custom fields.

Adding address custom fields.png

You can add, delete, or change the name of an existing field; if you want to change the type (single line to checkbox), you would have to delete the field and create it again. You can also change the order the custom fields appear in the Helpdesk, *Job Title will always appear first followed by *Available between in pop-up windows like 'Edit'. You'll notice that I prefaced both custom fields with a star *, this is not necessary but used to make them stick out from regular fields in our screenshots.

No matter what source you pick the configuration works the same, but note the custom fields do not overlap. If you create a checkbox field for your addresses it won't appear in your tasks; if you need a task checkbox you need to create a second checkbox field just for tasks. Before we go over each type individually, a couple of notes:

Wait... I already have Custom Fields?

Even if this is your first time using custom fields, those of you who have upgraded from early 4.0 to 5.1 may find custom fields already in the system as you click around the different sources. The reason is, many of the stock fields we had in 4.x were moved into custom fields behind the scenes gradually as the developers grew less attached to them. The fact that their custom fields counterparts function the same way (show up in the same edit windows, accept the same data) means the transition was seamless, and you likely didn't even notice.

If you see some of these leftovers in your Helpdesk, that's what happened (you can always delete them if you don't use use them).

I bring this up specifically to also act as a warning, because down the road it's possible we'll continue to take this approach. By offering you an alternative that works identically to what we built, we can justify moving more and more of the defaults into custom fields -- removing the less important fields from all the new installs, and letting users that need those specific fields recreate them as they wish.

Types of Fields

Now that we've covered all the sources, we have 10 different types of fields to choose from to populate these sources. Most of the fields only ask you for a name (or label) so setup is fairly simple.

Text: Single Line

The text-based fields are ideal for any "free-form" english. Use the single line version for "short" one-word answers, single sentence responses or formatted numbers like a phone, serial, or order number -- do NOT use the number field (more on that in a second).

Custom fields single line.png

Text: Multi-Line

Another "free-form" field. Use the multi-line variation for longer responses or anything that needs line breaks or paragraph style formatting.

Custom fields multi line.png

Number

Any integers, or whole numbers, that are not formatted with any symbols such as a running tally (or count). The number field will truncate numbers with hyphens, decimal points, currency symbols ($) and leading zeroes. So as counter-intuitive as it may be, make sure you use Text: Single Line for any numbers that fit this criteria, otherwise...

Custom fields number.png

Date

Date actually accounts for dates as well as time of day. Date fields produce the same "date and calendar" function you see throughout the Helpdesk, such as a Task "Due Date" or the "When would you like to resume this conversation?" inside ticket replies. To select your date a mini-calendar is available.

Custom fields dates.png

A text field is also included for manual data entry where all the typical Helpdesk "shorthands" are accepted (keywords are not case-sensitive).

  • Current date, day, and time: now
  • The current day, date at midnight (in the past): today
  • Yesterday at midnight: yesterday
  • Future day of the week [if it's today, midnight (in the past)]: wed, wednesday
  • Tomorrow at midnight: tomorrow
  • X number of days, weeks, or years from now (keeps time): 4 days, +4 days, 2 weeks, +2 weeks, 1 year, +1 year
  • Month Date (Year) [no quotes needed]: Sep 3, September 03, Sep 3 2010, September 03 2010, 3 September 2010, "September 3, 2010", "September 3rd, 2010"
  • month/day(/year) [American standard only, d/m/y will not work]: 9/3, 09/03, 9/3/10, 09/03/10, 09/03/2010
  • X number of minutes or hours from now (will properly extend to the next day): 30 min, +30 min, 30 minutes, +30 minutes, 48 hours, +48 hours
  • Standard time of day (excluding AM/PM will default to AM): 2:45, 2:45AM, 2:45PM
  • Military time: 13:00, 16:30

Because the calendar pre-fills the text field for you automatically, you can pick a date with the calendar, and then simply add your own time. By default the calendar technically sets the time to midnight, after you pick a date in the calendar notice there's no timestamp (Friday, 3 September 2010). Save changes, re-open the edit window, and you'll see 00:00:00 (midnight).

Date field midnight.png

Note when you don't specify a literal date the most "natural" choice is determined automatically, usually with a lean towards the closest FUTURE match. If it was a Sunday, and you typed in "Wednesday", you'd get the upcoming Wednesday, not last Wednesday or the Wednesday two weeks from now. If you excluded the year from your date (Sep 08 or 09/08), it would translate to September 8th, 2010 -- not September 2008.

The one exception to the future date rule is when you're referring to the current date: "Wednesday" on a Wednesday, "today", or 09/08/10 on September 8th 2010, would put you at midnight that morning which is technically in the past.

Picklist

Custom fields picklist setup.png

You might want to think of these as "dropdowns". You provide a handful of options, or choices, upfront during configuration, then in actual use you select one choice from the dropdown. The field options support any text, so you can pick a single word, a phrase, a sentence, or even numbers.

Custom fields picklist.png

Multi-Picklist

Same idea as the picklist, but like the name suggests it supports multiple selections. Here a customer was reporting several issues with our product, and we've categorized the ticket as such via custom field. Use the CTRL key or CMD key (Macintosh) to select more than one choice; remember you can always select just one.

Custom fields multipicklist.png

Checkbox

The most self-explanatory of the group, a simple checkbox with two states: ON/OFF or YES/NO. Here we're using a custom field to mark a primary contact for this organization.

Lisa is the primary contact for the Customer Example, LLC.

Notice how we're looking at the 'People' tab on the organization's page but still clicking into an address to use the *Primary Contact field. We've also changed the first worklist column to "*Primary Contact", so we can push him or her (Lisa White) to the top of the list.

Multi-Checkbox

Again much like the relation between picklist and multi-picklist, multi-checkbox gives you the option to make more than one selection, but this time you don't need to hold CTRL or CMD down. Notice we're using the same "experiencing issues" example as multi-picklist, the difference between the two mainly comes down to the style you prefer.

Custom fields multicheckbox.png

Worker

Remember the old "Next Worker" concept in Cerb4? One ticket for one worker?

Cerb4 next worker vs custom field.png

This is kind of like that. You get a worker dropdown of all the workers inside the Helpdesk just like the old interface; it is NOT the Owners chooser like you see in 5.1 that lets you do multiple assignments. In the past worker custom fields enabled you to simulate multiple assignments -- the ticket "Next Worker" system of previous versions would assign the ticket to one worker, and then you could use a complementary worker custom field to assign the ticket to a second worker, sort of like "Another Next Worker". For better or worse, the new Owner functionality is so strong that it limits many of the potential use cases for the worker custom field.

There is one simple use case still available that's assignment-related I can recommend. Owners does not touch the Knowledgebase yet (although it's likely only a matter of time) so you can create a worker custom field to represent ownership, maybe like a dedicated editor for the article.

Custom fields worker.png
Worker custom fields on worker.png

URL

In this field you can input any web or internal link you see fit, it could be a company's website or an internal file you have on the network. Once you save a legit URL in the text field, the custom field label will turn into an active hyperlink for you; this way you can still freely edit the "plaintext" URL should you want to make a change.

Custom fields url.png

(Group) Ticket Fields

Tickets is the oddball in the custom field space, because technically there are two "levels" of ticket custom fields -- global and group. Every ticket supports global fields, as long as a worker can "see" the ticket, he or she should be able to modify those custom field values (remember tickets are hidden from workers if they are not a member of the group).

The second ticket tier is group-level fields, the idea being you can attach ticket custom fields to the groups themselves (Dispatch, Sales, Support). Group fields are only visible when the ticket is in the corresponding group -- a Support group field would only appear when the ticket was in Support, if it moved to Sales those fields would be hidden. Under this design your group members can access their own "private" custom fields to use as they see wish.

I moved our earlier multi-checkbox example "*Experiencing issues with" to a group-level custom field.

The "(Global)" and "(Support)" labels are not typical, I added those to the custom field name during setup to make the examples more clear. Normally you would not be able to distinguish between global or per-group custom fields by just eyeballing the names.

Global vs group custom fields sales.png

If a ticket is moved the fields are not permanently erased, as soon as the ticket is moved back they will show up again, values intact. When I move the ticket back to Support, I will see the *Experiencing issues with custom field as well as "Upgrading" and "Software Crashes" selected.

Group setup custom fields.png

Custom Fields in other features

Remember what I said at the very beginning about custom fields being important building blocks for different workflows? It's time to explain what I meant with a quick overview. All of these features and ideas do have separate documentation, covering everything from start to finish, unfortunately they tend to be written in a way that glosses over the custom field aspect. Links to full documentation are included at the bottom of each section.

Snippets

Snippets are the 5.x version of e-mail templates with a little more flexibility. You can pre-compose a simple template and then use that over and over in your replies instead of typing it out every time. One of the interesting perks with snippets is that they have access to a ton of tokens, or placeholders, that swap with all the standard fields in the Helpdesk plus the custom fields you created.

To use any field, custom or standard, select it from the dropdown and the token will be added to the message box. Tokens are visually represented with a string name surrounded by curly braces; a custom field token will include the word "custom" followed by an ID number (the number used is listed in 'helpdesk setup', 'Custom Fields').

Here we're using a single line custom field on a worker to represent a phone number, {{worker_worker_custom_18}} .

The next several features: broadcast, auto-responses, and signatures, are "snippet-compatible" which means they share a similar interface and have access to the same set of tokens (custom fields). All three features, including snippets, always have access to worker, organization, and address based custom fields. Whether or not you can add ticket custom fields to that list depends on contexts: ticket-centric or worker-centric.

Broadcast

Broadcast is a tool you can use to reply to multiple tickets at once, the idea being you select a handful of tickets, compose a "generic" reply, and then send that single message out to each ticket with one click. Just like snippets you can select your custom fields from the dropdown to insert placeholders in the form of tokens. Since you're replying to multiple tickets at once, the tokens will be swapped out with the corresponding custom field values for each ticket. Broadcast uses the snippet ticket context, so it supports ticket custom fields.

To determine which hosted installs are on which hardware we compare a preconfigured address (picklist) custom field: *Hosted On {{custom_26}}, where possible values include black, white, red, or yellow. A very simple IF/ELSE block automatically sends the correct maintenance window to the right contacts.

Auto-responses

Auto-responses are designed to trigger a preconfigured reply to the original sender (FROM) on a ticket. There are two auto-response actions, one for new mail and the other for when you close ("resolve") a ticket. New ticket and closed ticket auto-responses are optional settings done per-group inside 'group setup', 'Mail Preferences'. Auto-responses use the snippet ticket context, so they support ticket custom fields.

Here I'm checking for keywords inside an address (single line) custom field using IF/ELSE statements: {{initial_message_sender_custom_19}} .

Signatures

Personalized signatures is another Helpdesk feature snippet-compatible and custom field ready. A signature in Cerb is just like a signature in your standard e-mail client, the only difference is they're organized per-group. Each group can create their own signature (otherwise they get the default) and personalize it to include the worker's contact information, so each worker's reply sounds like it's from them.

Again we're using a single line custom field to represent a phone number, {{worker_worker_custom_18}} .

The default signature is configured through 'Mail Setup' (helpdesk setup) and the group signatures in 'Mail Preferences' (group setup). Signatures use the Snippet worker context, which means you do NOT have access to ticket custom fields.

Mail Rules

At this point we're done with features that use the snippet token system, so now it's all about using custom fields the way we did before. Mail rules are for automatically "handling" incoming mail as it enters the Helpdesk; this could be anything from tossing spam, to moving mail into one of your groups, (and most importantly for us) to setting custom fields. Mail rules all use a criteria system, where you check if X matches and if it does do Y. The Y we're concerned with right now is setting a ticket custom field. In practice you could do something as simple as "If To = 911@example.com, set Priority custom field = ASAP".

Mail rules have three layers, or gates, where mail must travel through before it hits its destination but only the latter two support setting custom fields.

On all "new orders" we use inbox routing to mark all the sales options our customers paid for.

Custom fields are a two-way street when it comes to mail rules. You can also use them as criteria in your filtering, reading the current values on new mail and taking action based on their values. The question then is how does a customer send in mail with custom fields already set? Well this is only possible with mail coming in from the Support Center*, which we'll talk about next with contact forms. (*Developer's Note: You can set custom field values based on header values, too, through use of a custom plugin. See Plugin:Header_Filters for more information.)

Contact Forms

Last, but not least, is the most complicated example of all, as there are several topics at play now. First you have to understand that, as suggested earlier, the Helpdesk can be outfitted with a complementary Support Center - the public component of Cerb - that your customers can log into. One optional module you can enable with the Support Center is a public contact form. The contact form is a second way to accept incoming requests from your customer base; instead of e-mailing you directly they can open a ticket by filling out a form.

The more advanced contact forms, in addition to the message itself, let you pitch questions for your customers to answer -- "What problem are you having?", "Do you want to be contacted by phone?", "What's your daytime telephone number?". These are called follow-up questions in Cerb lingo and are what we'll focus on here, as each question can be linked with a ticket custom field.

The star * in front of "What problem are you having?" makes it a required field.

The top half of the screen is part of the 'Open Ticket' module in 'helpdesk setup', 'Community Portals', the bottom half is the actual Support Center your customers would see. Each question's custom field is the customer's to fill in however they want -- your internal staff does NOT have to go find the ticket later and "copy/paste" their answers into the custom fields, the customers are literally "setting" the custom field themselves.

The beauty of this (as we talked about earlier) is that your mail rules can detect these custom fields and treat them as criteria. If someone answered "Yes" to "Do you want to be contacted by phone?", you can create a mail routing rule that pushes that ticket into a Support bucket called "Callback" and assign it to your tech guy automatically.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox