How to implement a mailbox listener for creating and replying messages for Tasks

Version 1

    Details

    This article describes how to configure a mailbox listener that can create new tasks when receiving an email, and then that will include all the replies of the emails sent to that mailbox.


    Resolution

    Please follow these steps:

    1.- Create a new Mailbox Listener for an account exclusively used for the Tasks as in the screenshot. In the example we use ":" as "Field Value Separator", but it could be any character



    2.- Add a "Before-Save rule" (saving rule in former versions) for the field "Assignment ID" using the following expression (depending on the version)

    $(iif((AssignmentID == 0), GetNextCounter("ApprovalNumberCounter"), AssignmentID))
    or
    $(if AssignmentID == 0 then Number(GetNextCounter("ApprovalNumberCounter")) else AssignmentID)



    3.- For creating a new task, we will need to send an email that will include the field AssignmentID and all the required fields for creating a task that cannot be completed by the Initialization Rules. The value of the AssignmentID field must be 0. so the rule that we created in the previous step will get the correct value. This would be an example of an email. NOTE: It is very important not leaving any space between the field names, the separator and the field values.



    This is the result, the before-save rule modified the "0" value for a new ID, 11016, and both the Subject and the OwnerTeam were properly stored.



    4.- For answering an email for an existing task it is only necessary to use the correct subject including the "#" and the AssignmentID value, the content could be anything in that case. For example: "Task# 11016 has been assigned to your team"


    NOTE: In case we want to update the content of an existing object (Task, etc.) with the content of the email, the Subject of the email must NOT content the pattern "Task# ID" because in that case it will ignore the content of the email. The content of the email should contain at least the ID number given by the system:
    AssignmentID:REAL_ID_NUMBER