Creating a Support Center contact form
From Cerberus Helpdesk Wiki
One of the more practical uses for the Support Center, is to give your customers a way to communicate with you directly via contact forms. The Open Ticket module allows you to create these forms as separate "contact situations” each with its own follow-up questions, any responses you get back from the customers will then be translated into traditional tickets. There are several options at your disposal and we'll create an example that uses all of them to showcase what you can do, but remember most of these are entirely optional and can be ignored if they don't fit your needs.
Contents |
Basic Workflow
More often than not you're going to have multiple departments in your organization, and will want to create one or more contact situations for each one. This way the Sales and Support departments for example, can have their own contact forms with all customer responses automatically sent to the appropriate group. For the sole purpose of having a simple blueprint to follow, we'll adopt the following scenario and build our contact situations around it.
- Customer visits the Support Center and clicks 'Open A Ticket'.
- Selects one group's contact situation from a list of several.
- Fills out the web form and submits (customer is given a ticket mask in return).
- "E-mail" is sent to Helpdesk and converted into a ticket.
- Ticket is routed to the correct group.
- Worker replies or handles the ticket like normal.
To get started
All Support Center related configuration is done in 'helpdesk setup', 'Community Portals' (If you do not see it, make sure 'Usermeet Communities' is enabled in 'Features & Plugins'). Create and deploy a new Support Center, then enable the 'Open Ticket' module and scroll down to the 'Open Ticket' section.
Open Ticket module
The way your contact situations translate to what your customer sees is very simple. When the customer goes to open a ticket in the Support Center they will see each contact situation in a list. Sort of like an index or "Table of Contents" they can drill into.
Once they pick a situation they are taken to its own contact form which can be fitted with extra fields for the customer to fill out. The extra fields themselves are pulled from the follow-up questions you created, and you can get different types of input from your customers by specifying custom fields. The custom fields are translated to typical web form elements (or input types) such as checkboxes or dropdowns, identical to what you see with the custom fields you use in your actual Helpdesk.
"Global" Options
There are three settings which will influence all your contact situations in your new Support Center.
- Allow users to provide their own ticket subjects: Pretty self-explanatory but there are some important things to be aware of, regardless of whether or not you use this option.
- If you do NOT allow customers to enter their own, the selected contact situation becomes the ticket subject.
- If you DO allow customers to use their own, the subject field is blank and the customer must enter something or the form will not submit.
- Allow attachments from: Anybody, Logged in visitors, or Nobody. If you only allow logged in customers, generally speaking you also want to enable the 'Registration' module.
- CAPTCHA
Adding a Contact Situation
Every contact situation you create is self-contained with its own set of parameters.
- Reason for contacting: The best way I can describe this beyond the obvious is the title of your contact form. When your customers first click 'Open a Ticket' they will see a list of all the available contact situations. Your organization might want to phrase this as a reason for contacting like we allude to, such as "I'd like more info on your products", or you could simply title the form with a topic like "Product Support".
- Deliver to: The Helpdesk address all submissions are sent to. When a customer fills out a form it's converted into a ticket, this address will then be used in the "To" header. Make sure you use a valid Helpdesk address, that way all your mail routing rules will correctly filter the ticket. (This address will not appear to the customer while filling out the form.)
Note you can create some interesting setups for your customers if you use one or no contact situations:
- If you only create one contact situation, you skip the contact situation "Table of Contents" and jump straight to the form.
- If you do not create any contact situations, a generic "mailto" is used. (A lot of times people run into this by accident when trying to add a contact form, double check that you didn't forget to save changes during setup.)
(Required) Follow-up Questions
Each contact form contains a message box for freeform text entry, but you can grab more information from your customers using follow-up questions. When used properly, these extra fields of input give you a little bit of extra control so you can force your users to enter the "right answers" you need.
You also have the option of placing a wildcard (*) in front of the follow-up question to make it a required field. Much like leaving a subject blank, they will not be able to submit the form until they fill the field in.
- If you need to create more than five questions, save changes and then click the 'edit' link next to the "green" saved situation.
And Custom Fields
Each follow-up question can be attached to an optional custom field during configuration, making it easy to incorporate the customer's responses into a "better" organized ticket. You do this by selecting either a global or group-specific custom field (created earlier) from the "append to message" dropdown.
Besides just having a summary of all the important information in the ticket's 'Properties' tab, custom fields naturally lend themselves to simpler mail filtering and workspaces centered around customer data.
Mail Filtering on Custom Fields
Custom field filtering is one practice that works really well with tickets created from the Support Center. Client’s answers are converted to custom field values, which can be used immediately by your 'Inbox Routing' rules. In our example, we have two follow-up questions attached to two custom fields:
- Contact by phone? (checkbox)
- Phone # (single line text)
If the customer says "Yes. Please call me.", you can use a group 'inbox routing’ rule to move that ticket into a special ’Callback’ bucket or assign it to your salesman automatically; unlike traditional e-mail which won't have custom fields built in.
Mail Filtering on "Deliver to" address
The other option worth talking about is even easier to use, and we'll go to it as our primary example the rest of the way. When each group (department) in your organization uses its own contact address, all you have to do is set that same address as the "Deliver to” address. Then you create a 'mail routing' rule to automatically push mail from one contact situation into a corresponding group.
Our "Product Support" situation uses the address support@example.com to route all submissions to the Support group:
- Contact Situations: Product Support, Deliver to -> support@example.com
- Mail Routing: helpdesk setup, Mail Routing, Message: To/Cc -> support@example.com, Move to Inbox -> Support group
- Group Address: group setup, Mail Preferences, Send replies as e-mail -> support@example.com
- For the record, you can really filter on anything you want for this ticket just like it was a regular e-mail. You could target the customer's address, the body of the message, or the subject itself (which can be a little more difficult if you give customers the freedom to customize their subject).
Trying it all out
Let's finish things off by showing you the final product in action -- we'll create a "Purchase Order" contact situation from scratch and have a pretend customer fill it out. Since we covered everything in detail earlier, I'll just summarize what you see on screen with a list of bullet points to highlight how some of the unique components fit together. This will show you how our configuration translates to what the client sees, and how the final ticket appears in your Helpdesk.
Administrator creates a Support Center with two contact situations
Turn on the Open Ticket module and start creating a couple of contact situations. Remember to start a second contact situation you need to save changes first.
- We did NOT allow users to provide their own tickets subjects.
- Allowed attachments from anybody.
- Enabled the CAPTCHA.
- Created two distinct contact situations, one of them called "Purchase WebGroup Media Software".
- All sales orders are delivered to sales@example.com
- We've made every follow-up question except "Optional Contact Information" required fields.
- We used two unique custom fields here to grab different types of inputs, "picklist" and "multi-line text".
Customer fills out the contact form
After you've saved changes, go ahead and browse to your Community Portal as if you were a customer. In the 'Main Menu' sidebar, click 'Open A Ticket', and pick Purchase WebGroup Media Software as the reason for contacting. Fill out your form and observe how a few of the options we enabled work in practice
- We created two contact situations: so you should have noticed there were two forms to choose from initially.
- The Subject is the contact situation and cannot be edited since we disabled custom subjects earlier.
- The follow-up questions appear here in the order we specified during configuration. Notice the different types of input thanks to the custom fields.
- If we don't fill out any required (*) fields there will be an error message.
- We can add multiple attachments. A little 'x' to the left of each one deletes the attachment.
- Forgetting to fill out the CAPTCHA form at the bottom also stops the form from going out.
- After submission we get a Thanks for contacting us message with a ticket mask for our (customer's) reference.
Worker finds the ticket
Go into the Helpdesk and find the ticket in any of the usual places. Observe how the contact form is captured in the ticket
- The "What e-mail address should we reply to?" customer choice becomes the requester.
- The ticket subject is the contact situation Contact me: Purchase WebGroup Media Software.
- Attachments are included like normal.
- The body of the ticket itself combines the message body and the follow-up answers in a logical outline. Custom field decisions through the checkbox or picklist are converted into plain text.
- Custom field choices are also captured in the ticket 'Properties' tab as well. Just like if you had entered them as a worker manually.
- The customer's ticket was successfully routed to the proper group based on the "Deliver to" address (support@example.com). Since we used the same address in 'group setup', any reply would go back to the customer from this same address.




















