You need to sign in to do that
Don't have an account?
[Lindsey Kiken]
Apex: Inserting a Queue into a Case Team (After Insert)
I am attemping to insert a Queue into a Case Team (after insert) via apex. I have the logice to successfully insert a new Case Team Member, but continue to hit errors when attemting to swap the memberid for a Queue value.
My working member (user) code is as follows:
Any thoughts?
My working member (user) code is as follows:
trigger CaseTeamMember_Owner_Insert on Case (after insert) { CaseTeamRole role = [select Name from CaseTeamRole where Name = 'Support Team' LIMIT 1]; Map<Id, CaseTeamMember> membersToAdd = new Map<Id, CaseTeamMember>(); List<Case> cases = [Select Id,OwnerId,ContactId,RecordTypeId,RecordType.Name from Case where id IN :Trigger.newMap.keySet()]; for (Case c : cases) { if (c.RecordType.Name == 'Support Case') { membersToAdd.put(c.Id, new CaseTeamMember( TeamRoleId = role.Id, ParentId = c.Id, MemberId = c.OwnerId ) ); if (!membersToAdd.isEmpty()) { insert membersToAdd.values(); } } } }My non-working member (queue) code is as follows:
trigger CaseTeamMember_Owner_Insert on Case (after insert) { CaseTeamRole role = [select Name from CaseTeamRole where Name = 'Support Team' LIMIT 1]; Group g = [select Name from Group where Type = 'Queue' AND Name = 'Support Unassigned' LIMIT 1]; Map<Id, CaseTeamMember> membersToAdd = new Map<Id, CaseTeamMember>(); List<Case> cases = [Select Id,OwnerId,ContactId,RecordTypeId,RecordType.Name from Case where id IN :Trigger.newMap.keySet()]; for (Case c : cases) { if (c.RecordType.Name == 'Support Case') { membersToAdd.put(c.Id, new CaseTeamMember( TeamRoleId = role.Id, ParentId = c.Id, MemberId = g.Id ) ); if (!membersToAdd.isEmpty()) { insert membersToAdd.values(); } } } }The error that I am receiving when creating a new case with the member (queue) code in place:
Error: Invalid Data. Review all error messages below to correct your data. Apex trigger CaseTeamMember_Owner_Insert caused an unexpected exception, contact your administrator: CaseTeamMember_Owner_Insert: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: FIELD_INTEGRITY_EXCEPTION, Member ID: id value of incorrect type: 00G19000000ZNltEAG: [MemberId]: ()
Any thoughts?
All Answers
Both of those routes will work, albeit neither are truly ideal. Thank you for your help!
Cheers,
Lindsey