Forward email from agent to support@<domain> to create a ticket

Hi,

Basically: Agent receives email -> agent forwards email to support@ > ticket created with the ‘requester’ being the original sender.

This is a pretty standard feature with some of the other help desk tools. Staff at my office are used to emailing individual agents for their support needs and it’s unlikely we will be able to get them all used to emailing a single mailbox.

Is this available? If not, can you share if it’s on the roadmap?

Thanks

Hello, @James

Unfortunately, we can't implement such functionality for there is no E-mail header containing the information about the original sender. But I can suggest you creating a flow as a workaround. Please follow these steps:

  1. Create a flow. Ad a SharePoint trigger on creating an item on a "Tickets" list of your HelpDesk site.
    image
  2. Then add a "Get all comments for a ticket" action of HelpDesk MS Flow connector. Get the newly created ticket by ID.
    image
  3. It returns an array of comments, but since the ticket is just created, there is only one comment. Parse the first element of the array as JSON. Use expression first(body('Get_all_comments_for_a_ticket')) to get only the first element of the array avoiding looping. Also, you will need this schema:
    {
    "type": "object",
    "properties": {
    "body": {
    "type": "string"
    },
    "created": {
    "type": "string"
    },
    "fromEmail": {
    "type": "string"
    },
    "fromName": {
    "type": "string"
    },
    "messageId": {},
    "id": {
    "type": "integer"
    },
    "customFields": {
    "type": "object",
    "properties": {
    "From/Title": {
    "type": "string"
    },
    "From/Email": {
    "type": "string"
    }
    }
    }
    }
    }


4. Then you will need to use the action that can get a regualar expression match. Another Plumsail product (Documents) has it. Here is an example of the action. It receives the body of the message and searches E-mail address between < and > characters.

5. The "Regular Expression Match" output is an array of objects that contain the data you need:

6. Initialize an array variable and append to it all found E-mails (though there is just one).


7. Then add another HelpDesk action - "Update a ticket". Pass to it the ticket ID and E-mail using this expression: first(variables('originalEmail'))

Is this approach still the only option

Hello, @jphansen

No, you can also change requester manually. The described above approach is for automation the process. But you can just forward am e-mail message to your support e-mail, HelpDesk will create a ticket with you as a requester. Then you or agent whom the ticket is assigned to edit it and change the requester to a proper one. All forwarded e-mails contain brief info on original sender in message body so you can just copy that and insert in the "Requester" field when editing it.

Another option is to avoid using of e-mail. Just create a page with a HelpDesk widget and ask users to create their requests there.

thanks
when I test this it fails on step 3 - the json parser.
the error I get is fromemail fild cntains null.

is the schema still valid for the latest cloud version ?

Indeed, if the requester is a member or an agent, the "Email" field is usually empty for such a contact, and that leads to the error in parsing the object. But in fact, it's necessary to have only the body of the comment, so you could change the schema to the following:

{
    "type": "object",
    "properties": {
        "body": {
            "type": "string"
        }
    }
}