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?
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)
Please log in to answer
Posted by:
airwolf
12 years ago
Posted by:
steelc
12 years ago
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?
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
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
Posted by:
michaellynton
10 years ago
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
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 .
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
Posted by:
rgprior
12 years ago
Posted by:
airwolf
12 years ago
Posted by:
rgprior
12 years ago
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.â€Â
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:
rgprior
12 years ago
Posted by:
cmccracken
12 years ago
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
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
Posted by:
rgprior
12 years ago
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!
?>
-----------------------
<?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
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.
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.
rprior: Cool. I'll try that. [Later] Grrr. Still didn't work.
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
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.
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.
so that the conversation will remain readable.