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
Bobby StemperBobby Stemper 

Weekly Recurring Task for New Opportunities

Each opportunity requires weekly actions from our account management team. 

How do I create the following recurring task: [note - can you even create tasks around a certain opportunity?]

Creation Trigger: Task created when Opportunity created
Assigned to: Opportunity Owner
Due Date: 1 week after opened
Recurrence Interval: Each week (Each Saturday)
Lifespan: until Opportunity is closed

Description: each opportunity has a weekly task that the owner must complete. 
 

Keith McRaeKeith McRae
Hey Bobby!
Can I just check that I have understood your requirement...
User-added image
It's easy enough to create task 1 using a Scheduled Action in Process Builder.

However there must be a create or edit action on a record in order for a process to kick off. Keep an eye on the progress of this idea: https://success.salesforce.com/ideaView?id=08730000000DfAvAAK

It's also possible to create recurring tasks: https://help.salesforce.com/apex/HTViewHelpDoc?id=tasks_repeating.htm&language=en_US

You may find limitations with recurring Tasks that may require scheduled Apex code to create the recurring tasks: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm

Although not Schedulable or Bulkified this Apex code may form the basis of what you need for the repeating tasks:

global class OpportunityTaskScheduler {
    public static void processOpportunities() {
        List<Opportunity> opportunityList = [Select Id, OwnerId from Opportunity where IsClosed = FALSE and CreatedDate > LAST_N_DAYS:7 LIMIT 100];
        List<Task> taskList = new List<Task>();
        for (Opportunity currentOpportunity : opportunityList){
            taskList.add(new Task(whatId=currentOpportunity.Id, ownerid=currentOpportunity.OwnerId, Status='Active', Subject='Recurring Task', ActivityDate=system.today()));  
        }
        if (taskList.size()>0) insert taskList;
    }
}

Keith