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
GailGail 

work on campaignmember with trigger

I'm writing a trigger that runs when a campaign member is added and gets a list of all lead ids if the campaign includes a boolean value. I don't know how to get the boolean value from the Campaign - all I know is I can say "cm.Campaign.Requires_Immediate_Response__c". Can anyone let me know how I should write the RIM = line (and maybe how I can use it in the IF statement rather than assigning the value to a boolean and then checking if it's true?

 

Thanks in advance for any assistance!

 

Gail

 

    for (CampaignMember cm : Trigger.new) {
    RIM = Select [select Requires_Immediate_Response__c from Campaign] from cm;
        if (RIM == true && cm.LeadId != null) {
            ids.add(cm.LeadId);
        }
    }  

 

Best Answer chosen by Admin (Salesforce Developers) 
Avidev9Avidev9

Try this

 

Set < Id > cIds = new Set < Id > ();
for (CampaignMember cm: Trigger.new) {
    cIds.add(cm.CampaignId)
}
Map < Id, Campaign > CampaignMap = new Map < Id, Campaign > ([select Id, Requires_Immediate_Response__c from Campaign WHERE Id In: cIds]);
for (CampaignMember cm: Trigger.new) {
	Boolean RIM = CampaignMap.get(cm.CampaignId).Requires_Immediate_Response__c
    if (RIM == true && cm.LeadId != null) {
        ids.add(cm.LeadId);
    }
}