Brand new to Apex with rudimentary programming skills.

Here's what I'm trying to do: I'm trying to pass the campaign type (email, webinar, etc...) from the Campaign to it's Members. What I'd like to have happen is that, when a Lead is added to a Campaign as a member, the picklist value from Campaign.

I thought I'd set up a trigger to update a custom field (picklist) for the CampaignMember object. Here's what I have so far.

trigger Set_Campaign_Type on CampaignMember (before update, before insert) {
Campaign c = new Campaign();
for(CampaignMember Member : trigger.new){
    Member.Marketing_Campaign_Type__c = c.Type;

I'm sure it's WAY off so any help would be appreciated.



As James pointed out, this is MUCH easier to do via Text formula. However, I ended up writing a working trigger, so here goes (unformatted and commented):

 trigger Set_Campaign_Type on CampaignMember (before insert, before update) {
        List<CampaignMember> cm = Trigger.new;
        List<String> leadid= new List<String>();
        List<Lead> leads = new List<Lead>();

        List<Campaign> cmp = [SELECT Type FROM Campaign WHERE Id = :cm[0].CampaignId];
        String type  = cmp[0].Type;
        String status = cm[0].Status;

        for(CampaignMember c : cm){

           c.Marketing_Campaign_Type__c = type; 

       for(Lead l : [SELECT Id FROM Lead WHERE Id IN : leadid]){    

               l.Campaign_Type__c = type;
               l.Marketing_Response__c = status;
               system.debug(leads[0].Campaign_Type__c + ' ' + leads[0].Marketing_Response__c);      


        update leads;           } 

This updates both a custom field on the CampaignMember and associated Lead to indicate the Campaign Type.

1 Answer 1


You can do this with a formula instead of coding a solution.

Create a text formula on the CampaignMember and specify Campaign.Type

  • Thanks!!!! Man - always making things way more complex than they need to be... Well, I have a working trigger now. It turned out to be a great educational journey into writing triggers. Fun. Apr 20, 2014 at 16:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .