function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Allister McKenzie 10Allister McKenzie 10 

Trigger email to account team: Initial term of field expression must be a concrete SObject

I want to write a trigger to send an email to the account team whenever a task associated with the account has been completed.  I keep receiving an error on line 15.

Initial term of field expression must be a concrete SObject: LIST<AccountTeamMember>

What would be the best way to complete this trigger?

trigger ExecSponsTrig on Task (after insert, after update) {
    
    List<Messaging.SingleEmailMessage> atm = new List<Messaging.SingleEmailMessage>();  
    for(task t : Trigger.new){
        
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();       
        if(t.Status == 'Completed' && t.Type == 'Executive Call') {
            
            List<AccountTeamMember> recips = new List<AccountTeamMember>(
                [SELECT UserId 
                 FROM AccountTeamMember 
                 WHERE AccountId = :t.AccountId]);
            
            for(Id rid : recips){
                mail.setTargetObjectId(recips.Id);
                
            }
        }
        
        atm.add(mail);
    }
}




Best Answer chosen by Allister McKenzie 10
Apex - LearnerApex - Learner
Please change this to following marking change in BOLD

trigger ExecSponsTrig on Task (after insert, after update) {
   
    List<Messaging.SingleEmailMessage> atm = new List<Messaging.SingleEmailMessage>(); 
    for(task t : Trigger.new){
       
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();      
        if(t.Status == 'Completed' && t.Type == 'Executive Call') {
           
            List<AccountTeamMember> recips = new List<AccountTeamMember>(
                [SELECT UserId
                 FROM AccountTeamMember
                 WHERE AccountId = :t.AccountId]);
           
            for(AccountTeamMember rid : recips){
                mail.setTargetObjectId(rid.Id);

            }
        }
       
        atm.add(mail);
    }
}