Email, Queue, delete…what?


I have been busy with a challenge I got from a customer and today I was pleasantly suprised that one of the Program Managers replied to a similar question.

Updated: Paragraph 4 24 October 2006

The question that a lot of people have or had including myself is the following:
When an e-mail from a queue is accepted by an user it will move to the “in progress” folder. What should happen when we are done with that email, because there seems to be no way to get the e-mail out of the "in progress folder"? You could delete it, but this also deletes the e-mail from the customer activities history.

The explanation:
When an e-mail from a queue is assigned and is accepted by an user, it moves to the user’s “in progress” folder. The e-mail then stays there forever. This is because an e-mail is already a “closed” activity, that is, there is nothing that the user can do to the particular e-mail itself. Therefore, unlike other queue items (which are automatically removed from the “in progress” folder upon completion) e-mails are never removed from the “in progress” folder.


To remove the email only from the “in progress” folder, you need to select the email (without opening it) from the list of queue items - then delete it. This will only remove the pointer to the email activity itself, and the original email activity will remain in CRM. It will just not appear in the queue anymore.


If you want to delete the e-mail activity from CRM, then you need to open it from the list of e-mails in the queue (by double clicking it, for example) and then deleting it.

Comments (7)
  1. Robert E. Spivack says:

    Please explain exactly what you mean by "you need to select the email from the list of queue items".

    I’ve tried this, but nothing happens.  The email stays in the "in progress" queue.

  2. Helen says:

    I think mennotk must have missed some words out of para 4.  I think he means "you need to select the email from the list of queue items – then delete it"

  3. Robert E. Spivack says:

    Thanks Helen.  Yes, after you highlight it, you must also click "Action" and "Delete" – that was not in his instructions.

    This is still a screwed-up UI in my opinion.  The UI choice should be "Remove from queue" and it should be available whether you click and highlight or actually open the email. (When you open the email, you should a choice to delete and a new choice to "remove from queue").

    Also, I found out the hard way, that this DOES NOT WORK from the Outlook client.  In the Outlook client, you can only actually delete the email.

    So if you prefer to work almost exclusively in the Outlook client (the CRM marketing pitch of "work the way YOU do..") you are S.O.L.

  4. J says:

    To me, and many other CRM implementors, the main problem is the fact that you cannot delete an email from a queue without having access rights to delete the queue itself. (i.e. there is no role setting for deleting from a queue, as opposed to delete queue). This is a serious issue in a production environment.

    In fact, the more I read about CRM queues in the Google groups, the more I realise how little MS thought about how queues would be used in the real world. They seem to be a bit of an afterthought tbh.

  5. Krog says:

    Is there any way to do this pro grammatically in a workflow assembly? I’ve tried using the Delete method of CrmSdk.CrmService, like so…

    service.Delete(EntityName.email.ToString(), ActivityId);

    //service is an instance of CrmSdk.CrmService

    //ActivityId was passed in to the assembly from the Workflow Manager rule.

    …but this entirely deletes the email itself. I only want to remove the email from the queue. Any suggestions would be greatly appreciated.

  6. Olivier Furn says:

    How-to: Change the status of a received email message to ‘Completed’

  7. James T says:

    The CRM SDK has a ‘DetachFromQueueEmailRequest’ query class that you set the Queue guid and the Email Activity Guid and execute like so:

    private void removeItemFromQueue(Guid queueguid,  Guid originalEmailGuid)

    {

     DetachFromQueueEmailRequest request = new DetachFromQueueEmailRequest();

     request.EmailId = originalEmailGuid;

     request.QueueId = queueguid;

     DetachFromQueueEmailResponse response = (DetachFromQueueEmailResponse) service.Execute(request);

    }

Comments are closed.

Skip to main content