/build/static/layout/Breadcrumb_cap_w.png

We want to use a web form that creates a ticket for our customers

We have found that that email to ticket generation works very nicely. We have also found that you can put "@owner=" as the first line in the body of the email so that the ticket is automatically assigned to the right group.

Because many of our clients reside outside our Active Directory and have repetitive type issues, we wanted to create a customer facing webpage that allows them to select a drop down menu to select their issue. Depending on the menu choice made, it will put into the email "@owner=" so that the ticket will be directed to the proper group. We know that this has to be the first statement in the body of the email however, when it is passed from our webpage form there must be other information transmitted first that is taking the place of our "@owner=" because that phrase ends up in the tickets comments area and does not populate the "owner" field.
Do any of you have experience with making a web page form, to send an email, to create a ticket, with the assigned owner automatically plugged in?

0 Comments   [ + ] Show comments

Answers (18)

Posted by: airwolf 12 years ago
Red Belt
2
It's definitely something to do with your form submission routine. @owner= is the proper method to assign an owner via email. All variable assignment MUST be done at the very top of the message body. Is your form submitting in plain text or HTML?
Posted by: steelc 12 years ago
Senior Yellow Belt
2
It might not be working for Robert Prior because your value is just set to rprior, and not @owner=rprior.

Also, you're not specifying a from address in the mail command. Is the address that PHP is using for the default from address associated with a user that has permissions to modify the owner field in the service desk?

Have you tried to manually send an email to Kace_support@nshe.nevada.edu with @owner=#NSO and verified that it creates the ticket and assigns the owner?
Posted by: cblake 12 years ago
Red Belt
1
As Gerald said- @Operators can only be used by an owner in a queue, but a Process could be granted to everyone; meaning that you could use processes as ""templates"" and allow a user kick that off to pre-fill the common things, and modify it before submission. To my knowledge a process can not be generated from an email though, so using an external (Non-Kace webUI) webform to submit it may not be possible.
Posted by: GillySpy 12 years ago
7th Degree Black Belt
1
True, you can't kick off a process by email. you could fake it with multiple emails and some ticket rules but that's getting murky now. I've requested this ability in past but please post on http://kace.uservoice.com/forums/82699-k1000 if desired
Posted by: cmccracken 12 years ago
Orange Senior Belt
1
Sure, I can take a look at the PHP.

Casey
Posted by: michaellynton 9 years ago
Yellow Belt
0
I've accomplished this with a combination of Wufoo forms, and Zapier. Zapier will read the fields, and I can create an email that includes the values from the web form. 

The email goes to an email account tied to the Service Desk queue and imports the email to create a ticket. 

I was able to use a variety of custom fields - it was really nice once I got it working. 

Here's the form that I used on our website: http://www.myaspenheights.com/downloads-forms/columbia-utilities/

Teams were able to manage these tickets and close them out accordingly, as well as get reports of the data. Much better than individual emails!
Posted by: GillySpy 12 years ago
7th Degree Black Belt
0
Since sending the kbox an email is like sending it to another mail server (cuz it is) and since you cannot get into the kbox to look at the email i do quick-and-dirty end-to-end tests by sending a sample to a demo gmail account (e..g kboxtest@gmail.com). Their "show original" feature is one of the few places where you can see the true header and body in one place. All the old methods I used to use no longer work or are not as good (e.g. outlook registry settings, other tools).

You probably already figure this out but make sure that the email address the submission is from is an owner in your helpdesk. Then change the owner with @owner and the submitter with @submitter etc. You can pull values from the form .
Posted by: cmccracken 12 years ago
Orange Senior Belt
0
If you want to paste relevant chunks of your code, we might be able to spot something as well. I don't use the service desk myself, but I have other web forms that send emails, and I'd be glad to compare.

Casey
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
In response to Andy Flesner:

The form that we have sends this data to Kace:

@owner=#IAS
February 09, 2012, 04:44 pm


Although @owner=#IAS is the first item sent, it is not added into Assignee field in the Kace form.

Do you have a sample HTML form that works with Kace that you can share ?
Posted by: airwolf 12 years ago
Red Belt
0
I have a feeling that '#' symbol is throwing it off. Try the same form using an owner that has an alpha-numeric name. I bet it will work.
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
Sorry for the delay in responding - I've been out sick and not online.

GillySpy – We have looked at emails from the form and emails we send and have not been able to find a real difference. But we are still looking.
I tried adding the email address into Kace without success. Good idea though, I thought that might do it.

cblake – we are doing this just for regular tickets, not processes.

cmccracken – Here is the code:
FORM HTML

<form method="post" name="testKace">
<table cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td>What do you need assistance with?</td>
<td></td>
<td>
<p><input type="radio" name="endtime" value="@owner=#NSO" />Schedule Video Conference<br />
<input type="radio" name="endtime" value="@owner=#IAS" />iNtegrate<br />
<input type="radio" name="endtime" value="@owner=#DCO" />Data Center Operations<br />
<input type="radio" name="endtime" value="OTHER" /><em>Other</em></p>
</td>
</tr>
<tr>
<td width="125">Requester's Name*</td>
<td width="20"> </td>
<td><input size="55" required="true" message="Requester's name is required" style="width: 350px" name="clientName" type="text" /></td>
</tr>
<tr>
<td>Email*</td>
<td> </td>
<td><input size="55" required="true" message="Your email is required" validate="email" style="width: 350px" name="Email" type="text" /></td>
</tr>
<tr>
<td>Phone*</td>
<td> </td>
<td><input size="55" required="true" message="Your phone number is required" style="width: 350px" name="Phone" type="text" /></td>
</tr>
<tr>
<td valign="top">
<p>Description</p>
</td>
<td> </td>
<td><textarea rows="5" cols="43" style="width: 348px; height: 150px" name="Comment"></textarea></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>*Required</td>
<td> </td>
<td><input type="submit" name="Submit" value="Submit Form" /></td>
</tr>
</tbody>
</table>
</form>
<p> </p>

airwolf – it doesn’t work with names either so it doesn’t look like the “#” is the problem.

Everyone – I got the following message from Kace Support but adding their update did not work either. I sure appreciate all of your responses to our issue. We are still throwing brain cells at the problem.

Email from Kace:
“We've had a bug reported (K1-10091 - Email Tokens are not being captured from certain mail clients or in situations where there may be blank line/character in email) that was fixed in our update that was released two days ago. I believe this may resolve you issue sending mail from Lotus Notes. It may fix the emails coming from your web form as well. The release notes, instructions for upgrading, and downloads are available here:
http://www.kace.com/support/customer/downloads.php
Please consider upgrading to see if this bug that was fixed is causing the issue.”
Posted by: cmccracken 12 years ago
Orange Senior Belt
0
Hope you are feeling better.

What does the page submit to?

Casey
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
Casey
Thanks. Not 100% but much better.
The web page is a form that sends an email to our KBox (Kace_Support) which is a Gmail account. Although it appears to be putting our statement first (@owner=) it is not filling it in the ticket like a standard email does.
Is what I'm saying here clear?
Posted by: cmccracken 12 years ago
Orange Senior Belt
0
I guess I was expecting something more in the form of <form method="post" name="testKace" action="sendEmail.asp">, and was looking for the code of sendEmail.asp.

I've been assuming this is an external form that your users would access (ex. go to www.mycompany.com/ticket). Is this actually something on the kbox?

Casey
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
Casey
What I posted was the HTML. I can post the full PHP if you like.
You are correct - it will be an external form for our users (right now on our dev server)
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
Full PHP file
-----------------------

<?php
// CHECK IF THE FORM HAS BEEN COMPLETED.
if (isset($_POST['submitted'])) {

$errors = array(); // Initialize error array.

// Check for a suggestion.
if (empty($_POST['dept'])) {
$errors[] = 'What do you need assistance with?';
}
// Check for a location.
if (empty($_POST['fullName'])) {
$errors[] = 'Please enter your name.';
}
// Check for a location.
if (empty($_POST['Email'])) {
$errors[] = 'Please enter your email address.';
}
if (empty($errors)) { // If everything's okay...

// DISPLAY FORM RESULTS TO THE USER and
// EMAIL THE FORM DATA TO THE SUPPORT DESK:
?>

<div id="respond" style="margin-bottom:60px;">
<h3 class="reply" style="text-align:center; line-height:1.2em;">Thank you!<br />
<span style="color:#000; font-size:95%;">Your issue has been submitted to the Support Desk.</span></h3>
</div>

<?php
/* Stop spammers from using your form to send thier spam messages by checking special characters are not present in the input which can be used to trick the computer into sending messages to other addresses. It is a fuction which checks for these characters, and if they are found, stops running the script. */
function checkOK($field)
{
if (eregi("\r",$field) || eregi("\n",$field))
{
die("Invalid Input!");
}
}
#$MailTo="sam_shield@nshe.nevada.edu";
$MailTo="Kace_support@nshe.nevada.edu,robert_prior@nshe.nevada.edu";

$Subject="Kace Support Request";

$scsDept = $_POST['dept']; checkOK($scsDept);
$timeStamp = $_POST['timestamp']; checkOK($timeStamp);
$clientName = $_POST['fullName']; checkOK($clientName);
$clientEmail = $_POST['Email']; checkOK($clientEmail);

$Body = $scsDept . "\r\n" . $timeStamp . "\n\n" . $clientName . "\r\n" . $clientEmail . "\r";

$Body = wordwrap($Body,70);

mail($MailTo, $Subject, $Body);

} else {
// ... OR,
// REPORT THE ERRORS TO USER:
echo '<div id="errors"> <p class="Oopsy">Oops!</p>
<p>The following error(s) occurred:<br /> <br /><em>';
foreach ($errors as $msg) { // Print each error.
echo " - $msg<br />\n";
}
echo '</em><br /> </p><p class="body">Please click the <strong>Back button</strong> in your browser
to finish your Suggestion form.</p>';
} // End of if (empty($errors)) IF.

} else {

// DISPLAY THE FORM FOR THE USER TO SUBMIT:

$distributArray = array(); //Initialize the array.
?>

<div id="respond">

<h3 class="reply">Request a Support Ticket</h3>

<form id="commentform" method="post" action="form.php">

<p>
<label for="fullName">Your Name: </label>
<input class="text" name="fullName" type="text" size="40" maxlength="80" />
</p>
<p>
<label for="Email">Email: </label>
<input class="text" name="Email" type="text" size="50" maxlength="100" />
</p>

<p>What do you need assistance with?
<div style="margin-left:18px;">
<label>
<input type="radio" name="dept" value="@owner=#NSO" /> Schedule a Video Conference</label>
<br />
<label>
<input type="radio" name="dept" value="@owner=#IAS" /> iNtegrate</label>
<br />
<input type="radio" name="dept" value="rprior" /> Robert Prior</label>
<br />
<label>
<input type="radio" name="dept" value="@owner=#DCO" /> Other</label>
</div>
</p>

<p style="padding-top:10px;">
<input type="hidden" name="timestamp" value="<?php print(date("F d, Y, h:i a")); ?>" />
<input type="hidden" name="BeenSubmitted" value="true" />
<input name="submitted" id="submit" class="button" type="Submit" tabindex="5" value="Submit Support Ticket" />
</p>

</form>
</div>

<?php
} // DONE!
?>
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
steelc

It might not be working for Robert Prior because your value is just set to rprior, and not @owner=rprior.

rprior: Agreed. The "Robert Prior" radio button was a test after we found that the other radio buttons do not get the @owner value into the "Assignee" entry of the Kace ticket form.


Also, you're not specifying a from address in the mail command. Is the address that PHP is using for the default from address associated with a user that has permissions to modify the owner field in the service desk?

rprior: Cool. I'll try that. [Later] Grrr. Still didn't work.

Have you tried to manually send an email to Kace_support@nshe.nevada.edu
with @owner=#NSO and verified that it creates the ticket and assigns the owner?

rprior: From Gmail, and email works everytime. That's why it seems so unusual that it doesn't work when submitted to Kace's email address from a form.
Posted by: rgprior 12 years ago
Senior Yellow Belt
0
Steelc
We gave your 2nd comment some additional thought regarding the "From:" field and you were absolutely correct. Thank you!

ANSWER:
For the “@owner=” to pass a value from our web based form to the KBox, the address it is sending from must have the same email domain as the KBox or it will not pass the value.

Example: if your KBox is KBox@gmail.com and the email is coming from a “@gmail.com” address, there is no problem, the “@owner=” value will pass correctly. If the email is coming from “@yahoo.com” the value will not pass.

Our solution is to check the incoming email and see if it is from our email domain. If it is, we pass it along to get the proper information in the ticket (like the correct submitter). If it is not the same email domain, we spoof the address with a generic name in our domain. The submitter does have to be corrected after the ticket has been created but our priority is to get the ticket assigned to the right group, so this is a small inconvenience.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ