This function will set the schedule of a batch Smart Campaign to run either immediately or at a future date. It requires an existing Smart Campaign to complete successfully.This can be used in conjunction with importToList in order to upload a list of leads and then run a batch campaign against that newly created list.

Optional Program Tokens:

Similar to the requestCampaign function, you can pass an array of My Tokens into this API call which will override existing tokens. After the campaign runs, the tokens are discarded.

If you are using this optional parameter in conjunction with importToList, the tokens are prioritized in this order:

  1. importToList per lead tokens
  2. scheduleCampaign per campaign tokens
  3. My Tokens in the Program


Field Name



programName Required The name of the containing program
campaignName Required The name of the smart campaign
campaignRunAt Optional The time to run the scheduled campaign (W3C WSDL date format).
cloneToProgramName Optional When this attribute is present, the campaign’s parent program will be cloned and the newly created campaign will be scheduled. The attribute specifies the desired name for the resulting program.
Note: Only 20 calls per day are allowed when this field is used.
programTokenList->attrib->name Optional The name of the token you want to send a new value for. Use the full token format as you would within the Marketo UI. ie. “{{my.message}}”
programTokenList->attrib->value Optional The value of the associated token name.

Request XML

Response XML

Sample Code – PHP

Sample Code – Java

Sample Code – Ruby