Create Scheduled Integrations

You can schedule the running of integrations. For example, you can create an orchestrated integration that is triggered by a schedule or create a basic routing integration in which a trigger FTP Adapter reads a file and an invoke FTP Adapter writes the file. You can schedule this integration run to copy files at a date and time of your choosing. You can also define the frequency of the integration. When you create either of these types of integrations, a schedule icon is displayed with the integration entry on the Integrations page.

See Getting Started with the FTP Adapter.

Create a Scheduled Integration

This section describes how to create a scheduled integration.

  1. Follow the steps in Create Integrations to create a scheduled integration.

    An empty integration canvas is displayed with a schedule icon at the top. If you click the Schedule icon, you can select the Edit Schedule Definition icon that invokes the page for defining the schedule details.
    Schedule with Edit Schedule Definition option being selected

  2. Define the schedule for running the integration. See Define the Integration Schedule. You can also define a schedule on an integration at a later time from the Integrations page.

    The following subsections of this section describe how to configure and manage scheduled integrations.

  3. See Create an Orchestrated Integration to design the entire flow of your scheduled integration. Scheduled integration design differs from application-driven orchestrated integration design only in that you define an adapter trigger connection on an application-driven orchestrated integration. In scheduled integrations, the schedule is the trigger in the integration.

Define the Integration Schedule

You can define a schedule for running orchestrated integrations.

To define an integration schedule:

Note:

When the user that created and scheduled an integration is locked or deleted, the schedule does not run. Ensure that this user is not locked or deleted.
  1. Go to the Integrations page.
  2. Find the scheduled integration.
    These integrations are identified by a Scheduled trigger icon schedule trigger icon in the far left column. There are several ways in which to create a schedule on an integration.
  3. If you want to first design and activate the integration and then create the schedule:
    1. Click the Activate icon icon. The Activate Integration dialog box is displayed.
    2. Click Activate and Schedule.
  4. If you want to first create a schedule for an integration that you design and activate later:
    1. Select Add Schedule from the Actions icon menu.

      Note:

      For integrations with no defined schedules, the menu shows Add Schedule. For integrations that have a defined schedule, the menu switches to Schedule.

    The page for defining the schedule execution details is displayed.

    Note:

    Assume you create a schedule and generate several integration runs, then deactivate and delete the integration. If you then create and activate a new integration with the same name as the deleted integration, and go to the Track Instances page, the past runs of the deleted integration are displayed. This is by design.
  5. If you want to schedule basic integration runs, click Simple. For this type, there is a minimum frequency limit of ten minutes. If you try to define a schedule frequency of under ten minutes, a validation error occurs.
    1. In the Frequency section for a Simple schedule, click the icon to display a dropdown list for selecting the frequency with which to run the integration. As you define one frequency, you can specify additional values by clicking the icon to the right of the Frequency section.
      • Only Once: This is the default selection. This selection clears all settings except for the From field.

        If you select this option, you cannot select When schedule starts as the start date. This option is disabled.

      • Hours and Minutes: Specify the hours and minutes at which to run the integration.

      • Days: Specify the days on which to run the integration.

      • Weeks: Specify the weeks during which to run the integration.

      • Months: Specify the months during which to run the integration.

  6. If you want to schedule integration runs with an iCal expression, click iCal.

    Note:

    • There is a one minute limitation on how frequently you can run scheduled integrations with an iCal expression. Anything below this limit is not supported.
    • You cannot use lookups in iCal expressions.
    1. Enter an iCal expression, and click Validate Expression. For example:
      • The following expression indicates that this integration runs each month on the 1st, 10th, and 15th days of the month at 5:15 AM, 10:15 AM, 3:15 PM, and 8:15 PM.



      • You can also define multiple schedule frequencies. The following schedule runs every day between the hours of 5:30 PM – 7:30 PM, and during these hours it executes every 10 minutes. This configuration requires three schedules separated by the & sign:
        FREQ=DAILY;BYHOUR=17;BYMINUTE=30,40,50;BYSECOND=0;
        &FREQ=DAILY;BYHOUR=18;BYMINUTE=0,10,20,30,40,50;BYSECOND=0;
        &FREQ=DAILY;BYHOUR=19;BYMINUTE=0,10,20,30;BYSECOND=0;
        Description of ical_expression2.png follows
        Description of the illustration ical_expression2.png
      • The following schedule runs daily at 8 AM and also monthly at 12 PM on day 1 and day 2.

        FREQ=DAILY;BYHOUR=8;&FREQ=MONTHLY;BYMONTHDAY=1,2;BYHOUR=12;

        Validate Expression button and field with expression FREQ=DAILY;BYHOUR=8;&FREQ=MONTHLY;BYMONTHDAY=1,2;BYHOUR=12;

      If validation is successful, the following message is displayed at the top:

      iCal expression is valid.
  7. In the This schedule is effective section, click the link to the right of From.
    A menu is displayed for defining the start date of the schedule.
  8. If you want to start the integration run when the schedule is activated:
    1. Click When schedule starts.
  9. If you want to explicitly set an integration run start date:
    1. Select Modify start date.
    2. Click the Calendar icon to select the month, year, and day and the hour, minute, and second at which to start the integration run.
    3. Click OK.
  10. In the Until section, click the link to the right.
    A menu is displayed for defining the expiration date.
  11. If you want the schedule run to never expire:
    1. Select Never (repeat indefinitely).
  12. If you want the integration run to have a fixed expiration date:
    1. Select Choose expiry date.
    2. Click the Calendar icon to select the month, year, and day and the hour, minute, and second at which to end the integration run.
    3. Click OK.
  13. From the Time zone list, select a value. By default, this field shows the value you selected on the Preferences page.
    The
  14. Click Save, then click Update & Save when prompted.
    If successful, a message is displayed in the upper right corner.
    Schedule Run name saved successfully
    If there are any errors, a validation message is displayed in the upper right corner that describes how to resolve the errors.
  15. Click Back button.
    The Schedule and Future Runs page is displayed.

    Details about the integration run schedule are displayed. You can click the Edit Schedule icon icon to update the schedule definition.

    There are two sections on the Future Runs page:
    • Schedule section: This section is collapsed by default. Clicking the top bar (showing schedule name and buttons) expands the section and shows the schedule.
    • Future Runs table: This remains empty until the schedule is started. Once you start the schedule, you can see data.
  16. If you have already activated the integration, select an option to run the integration:
    1. Select Submit Now from the hamburger menu to run the integration. menu.
    2. If you are a user with the ServiceAdministrator role, you can change the user with which to submit the schedule.
      Clicking Submit Now triggers the integration immediately. Clicking Start Schedule triggers the integration using the defined schedule. (with frequencies and other definitions).
    3. Select how to initiate an instance of the integration when prompted. Otherwise, click Cancel.
      • Ad hoc request: The instance is executed independently of the scheduled run for the integration (if any).
      • As part of schedule: The instance runs in sequence with the scheduled run and shares schedule parameters (if any).
    4. Click Submit Now.
    or
    1. Select Start Schedule on the Schedule and Future Runs page to activate the integration schedule.
    2. If you are a user with the ServiceAdministrator role, you can change the user with which to submit the schedule.
    3. Click Start when prompted. Otherwise, click Cancel.

    Note:

    • If you place a file in an input directory and run an integration for the first time, the file is copied to the output directory. If you then run the integration a second time, the same file is not copied again to the output directory, even if you deleted the file from the output directory before rerunning the integration. This is by design. Second integration runs do not copy the same file. However, if a new file is placed in the input folder or the previously-copied file is updated with a newer version in the input directory, both are copied to the output directory.

    • If you create a new schedule to repeat every minute and launch the calendar to specify a start time, it shows the current time (for example, 12:41:16). If you update the start time to several minutes later (for example, 12:43:55), save, and start the scheduled integration run, the integration starts running at 12:43:16 instead of  12:43:55. The scheduler does not care about the seconds entered and runs the schedule every minute.

  17. If you have not yet activated the integration, return to the Integrations page and click Activate icon.
  18. Run the scheduled integration as described in the previous steps.

Create and Update Parameters in Scheduled Integrations

You can create and update scalar-type scheduled parameters in scheduled integrations that determine how to batch and read data received from a source location. You then use these parameter values downstream in the integration. You create and assign values to these parameters in the Schedule Parameters page that is available in scheduled orchestrated integrations. You can also assign values to these parameters in assign actions. Up to five parameters are supported in the Schedule Parameters page.

Create Parameters

You can also create and assign scheduled parameters as business identifiers that enable you to track fields in messages during runtime. See Assign Business Identifiers.

Scheduled parameters are available across all scheduled runs of an integration and can facilitate processing of data from one run to the next. For example, when performing batch processing, a scheduled parameter can track the current position of batch data between runs. This value is available across scheduled runs and cannot exceed 256 characters.

To create parameters during design-time:

  1. On the Integrations page, click Create.
  2. Select the Scheduled Orchestration pattern.
  3. Complete the fields of the dialog, and click Create.

    The integration canvas is displayed.

  4. Click the Schedule icon, then select Edit Schedule Parameters.
    Edit Schedule Parameters icon
    .
  5. In the Parameter Name column, click the plus icon.
  6. Enter a name, an optional description, and a default value in the Value column. For this example, a parameter of StartSurveyFromDate and a value of "Current Date (Format: yyyy-mm-ddThh:mm:ss.nnnnnn+|-hh:mm)" are entered.

  7. Click Close to save your changes and exit the page.

    If you enter a parameter without a value, a red warning icon is displayed on the Schedule icon. If you place your cursor over the icon, a message indicates that one or more parameters are missing a value.

  8. Drag an Assign action into the integration, enter a name, and then click OK.
  9. In the Name column, click +, then select the parameter from the dropdown list that you created without a value in the Schedule Parameters page.
  10. Click the Edit icon icon to invoke the Expression Builder.
  11. Create an expression, then click Close.
  12. In the Assign page, click Close.

    You are returned to the integration canvas.

  13. Place your cursor over the Schedule icon, and note that the message about the missing parameter value is gone.

    Note:

    If you create a for-each action without selecting the Process items in parallel option and then add an assign action within the for-each loop, parameters defined in scheduled integrations are visible for selection in the assign action. If you later edit the for-each action and select the Process items in parallel option, a red fault icon is displayed on the impacted assign action indicating that a scheduled parameter is being used. You must correct this error for your integration to be valid. You can disable the Process items in parallel option or use the Reposition button to move the assign action outside of the for-each loop.

Update Parameters

  1. Go to the Integrations page.
  2. Go to the row of the integration on which the scheduled run is defined.
  3. Select Schedule from the Actions icon menu.

    The Schedule and Future Runs page is displayed.

  4. Click the Update Schedule Parameters link in the hamburger menu menu.
  5. Edit parameter values in the New Value column, and click Update.

Override Schedule Parameter Values

You can override schedule parameter values set at design-time when submitting an ad-hoc schedule request or starting a schedule in an activated integration. This feature enables you to provide parameter values while invoking an integration without deactivating it.

To override schedule parameter values:

  1. Access the dialog to override parameter values in either of two ways. If the scheduled integration has defined parameters, the Schedule Parameters dialog is displayed. Otherwise, the dialog is not displayed and the scheduled integration starts.

    1. If submitting an ad-hoc schedule integration, select Submit Now from one of the following locations:

      • Select Submit Now from the hamburger menu menu on the Schedule and Future Runs page.

      • Click the Submit Now icon icon on the Monitor Integrations page.

    2. If scheduling an integration, select Start Schedule on the Schedule and Future Runs page.

    The Schedule Parameters dialog is displayed.
    Description of scheduled_parameters.png follows
    Description of the illustration scheduled_parameters.png

  2. Make updates to any necessary parameters.

    The following fields are displayed:

    • Parameter Name: Displays the parameter name you provided during design-time.

    • Default Value: Displays the parameter value you assigned during design-time.

    • Current Value: Displays the value most recently used at runtime.

    • New Value: Optionally enter new values for the schedule parameters. This value overrides the current and default values. If this field remains empty, the current value is used. If there is no new or current value, the default value defined during design-time is used.

  3. In the New Value row for the specific parameter, enter a value.

    If the integration updates these schedule parameter values using an assign action, the updated value is saved and becomes the current value for the next schedule run.

  4. Click the button that is displayed to save your updates. The name of the button is based on the type of schedule parameter you are updating:

    1. If starting a schedule, click Start Schedule.

    2. If submitting an ad-hoc scheduled integration, click Submit Now.

    The values you entered are used during execution of the schedule integration.

Start and Pause an Integration Schedule

After you define a schedule, you must activate it. You can also pause (deactivate) a schedule, as needed. You can also submit schedules to run immediately.

To start an integration schedule:
  1. Go to the Integrations page.
  2. Go to the row of the integration on which the scheduled run is defined.
  3. Select Schedule from the Actions menu menu.
    The Schedule and Future Runs page is displayed.
  4. Start the scheduled integration in either of the following ways.
    Method Steps
    To start an integration based on a schedule.
    1. Click the Start Schedule icon icon.
    2. If you are a user with the ServiceAdministrator role, you can change the user with which to submit the schedule.
    3. Click Confirm to start the schedule.

      If you have defined scheduled parameters on this integration, the Schedule Parameters page is displayed.

    4. Make any necessary parameter value updates, and click Start Schedule.
      The following message is displayed in the banner.
      Pause the schedule when you need to temporarily prevent this integration from running. 
      

      The Start Schedule icon button is changed to Stop schedule icon (stop schedule button).

      Note:

      If you want to pause the schedule run, click Pause icon in the upper right corner, then click Confirm when prompted.
    To start a schedule immediately:
    1. Select Submit Now from the hamburger menu menu.
    2. If you are a user with the ServiceAdministrator role, you can change the user with which to submit the schedule.
      The following message is displayed in the banner.
      Submit Now request to run integration integration_name (version_number) was submitted successfully with instance id number. 


  5. Click the instance ID in the banner or select Track Instances from the hamburger menu menu to track scheduled integration progress on the Track Instances page.
    When you click Submit Now or Start Schedule, an instance status and instance ID are created immediately and are visible on the Track Instances page. The following status values are displayed during the course of the scheduled integration lifecycle:
    • Waiting (Typically the state of an instance when it is scheduled to execute sometime in the future.)
    • Paused (The schedule has been paused, meaning the instance is also paused. Unpausing the schedule moves the instance back to the waiting state.)
    • In progress
    • Succeeded
    • Errored
    • Aborted


    If necessary, scheduled integration instances in the waiting or paused state can be canceled by selecting the Abort icon icon. This action moves the scheduled integration instance to the aborted state. If this is a regularly scheduled integration (for example, it is scheduled daily at the same time), another instance gets created immediately for the next day's schedule and moved to the waiting state.

    If the scheduled integration run is successful, the status value is updated to Succeeded.



  6. Click View details icon to view the following schedule milestones in the activity stream.
    • Schedule request submitted: Indicates the time at which the request to trigger the scheduled integration was submitted.
    • Schedule request started running: Indicates the time at which the submitted request started executing.
    • Schedule paused: Indicates the time at which a schedule was paused.
    • Schedule resumed: Indicates the time at which the schedule was resumed (from a paused state).
  7. Select Schedule from the Actions menu menu if you want to return to the Schedule and Future Runs page.

Change the User Submitting an Integration Schedule

You can designate a specific user to control the schedule of an integration in the absence of the actual submitter. This allows integrations to be scheduled using a service account that does not go away if a user leaves the company or moves to another department. Only a user with the ServiceAdministrator role can change the submitter of a schedule.

  1. Go to the Schedule and Future Runs page. See Define the Integration Schedule.
  2. Select Update Submitter from the hamburger menu menu to update the user that can submit the schedule.
    The Update Submitter dialog is displayed.
  3. Change the submitter of the schedule in the dropdown list.

    This update is per a specific integration schedule, and not globally for all integration schedules that can be submitted by this user. You can globally change the submitter of integration schedules under the Settings > Integrations tab. See Globally Change the Submitter of Integration Schedules.

    Details about the user who submitted the schedule for the integration are visible in the design time audit logs on the Dashboards page. For example:

    User icsadmin triggered integration integration_name as user icsdeveloper

    Child (co-located) integrations invoked from a parent scheduled integration inherit the same user that submitted the schedule. See Invoke a Co-located Integration from a Parent Integration.

Globally Change the Submitter of Integration Schedules

You can globally change all schedules submitted by the current user to another user. The list of current submitter names only include submitters of those schedules that are currently active or stuck. Only a user with the ServiceAdministrator role can perform this task.

  1. In the left navigation pane, click Home > Settings > Integrations > Schedule.
  2. From the Current Submitter Name list, select the submitter to replace.
  3. From the New Submitter Name list, select the new submitter.
    The Schedule page includes a Current Submitter Name list and New Submitter Name list. In the upper right corner is the Save button.

    For this example, any schedules that the old weblogic user submitted can now be submitted by the new icsdeveloper user.

  4. Click Save.

View Past and Present Integration Runs

You can view the status of past and present scheduled integration runs.

To view past and present integration runs:
  1. Go to the Integrations page.
  2. Go to the row of the integration on which the scheduled run is defined.
  3. Select Schedule from the Actions menu menu.
    The Schedule and Future Runs page is displayed.
  4. Select Track Instances from the hamburger menu menu.
    The Track Instances page is displayed. By default, all completed integration runs are displayed.
  5. Filter the display of integration runs under Filter icon.
  6. Click the file name of the instance.
    A graphical view of the integration flow is displayed.
    For example, if the resubmission resulted in a failure, details are displayed.

View Future Runs

You can view the status of future scheduled integration runs.

To view future runs:
  1. Go to the Integrations page.
  2. Find the integration on which the scheduled run is defined.
  3. Select Schedule from the Actions menu menu.
    The Schedule and Future Runs page is displayed.
    Details about any future runs that have been scheduled are displayed. You can filter to show all runs, only automatically scheduled runs, or only manually submitted runs. The page only displays manually submitted runs that have a state of blocked, wait, ready, paused, or canceling. The time zone in which the schedule was created is also displayed.

    Note:

    If you select a different time zone in another browser session, the Schedule Time zone field continues to show the time zone in which the schedule was created. All future runs execute as per this time zone, and not the time zone you specified in another browser session.
See Run the File Transfer Sample for a sample of a scheduled orchestrated integration.

Edit an Integration Schedule

You can edit a schedule for an integration run.

To edit an integration schedule:
  1. Go to the Integrations page.
  2. Go to the row of the integration on which the scheduled run is defined.
  3. Select Schedule from the Actions menu menu.
    The Schedule and Future Runs page is displayed.
  4. On the far right, click Edit icon.
  5. Edit the schedule. See Define the Integration Schedule.
  6. Click Save.

Delete an Integration Schedule

You can delete a schedule for an integration run.

To delete an integration schedule:
  1. Go to the Integrations page.
  2. Go to the row of the integration on which the scheduler run is defined.
  3. Select Schedule from the Actions menu menu.
    The Schedule and Future Runs page is displayed.
  4. Find the schedule in the list that you want to delete.
  5. Click Delete icon.
  6. Click Confirm when prompted.

Unlock an Integration Schedule

When a schedule is in edit mode and the browser crashes, the schedule becomes locked, which prevents it from being edited. You can unlock an integration schedule to resume editing.

To unlock the integration schedule:

  1. Log in as a user with the Administrators role.

  2. In the left navigation pane, click Home > Integrations > Integrations.

  3. Select Schedule from the Actions menu menu.

    The Schedule and Future Runs page is displayed.

  4. Select Unlock Schedule from the hamburger menu menu.
  5. Click Unlock when prompted. Note that unlocking an integration schedule may cause data loss.

Convert a Scheduled Integration to a REST Adapter-Triggered Orchestration Integration

You can convert a scheduled integration to a REST Adapter-triggered, app driven orchestration integration. This eliminates the need to recreate the integration if you need to change the integration style from scheduled to app driven orchestration.

Note the following restrictions:
  • You cannot convert a scheduled integration to a REST Adapter-triggered integration with multiple verbs.
  • You cannot convert a scheduled integration with assignments that have the fault data type.
  1. In the left navigation pane, click Home > Integrations > Integrations.
  2. Open the scheduled integration you want to convert.
    The integration canvas is displayed.
  3. Right-click the schedule icon and select Convert to REST Trigger.
    Menu is displayed with selections for Edit Schedule Definition, Edit Integration Properties, View Integration Properties, and Convert to REST Trigger.

    A list of available REST Adapter triggers is displayed.
    The REST Adapter triggers are displayed for selection from the dropdown list.

  4. Select the REST Adapter to use as the trigger connection in this integration.
    This invokes the Adapter Endpoint Configuration Wizard.
  5. Configure the REST Adapter in the wizard.

    Note:

    Do not select the Select to configure multiple resources or verbs checkbox on the Basic Info page. This feature is not supported when converting scheduled integrations to app driven orchestration integrations.
  6. When wizard configuration is complete, click Done.
    A message is displayed.
    Clicking done will perform conversion to REST trigger 
    and will clear tracking information, delete any assignment variables 
    with fault data types and update any impacted actions. Errors and 
    warnings may occur which will require manual correction. Are you 
    sure you want to continue?
  7. Review the message, then click Convert.

    A conversion progress bar is displayed. When complete, the converted integration is displayed in the canvas with the REST Adapter trigger connection.


    The integration is displayed horizontally. Conversion errors identified by little red circles are displayed on the impacted actions in the integration.

  8. Investigate any errors and manually correct the impacted actions or invokes. For example, any scheduled parameters in the scheduled integration are deleted during conversion to an app driven orchestrated integration. This results in errors in any actions that reference those schedule parameters (for example, an assign or logger action).

Delete Runs

You can gracefully delete scheduled or ad-hoc runs in a number of states. Only a user with the administrator role can perform this activity. Any running instances triggered by these scheduled and ad-hoc runs are also terminated when you delete the run.

You can delete the following states for both scheduled and ad-hoc runs:
  • Wait
  • Ready
  • Running
  • Completed
  • Blocked
  • Hold
  • Paused
  • Schedule Ended
  • Error Auto Retry
  • Error Manual Recovery
To delete a run:
  1. Go to the Integrations page.
  2. Go to the row of the integration on which the scheduler run is defined.
  3. Select Schedule from the Actions menu menu.
    The Schedule and Future Runs page is displayed. The state of each run is displayed.
  4. Select the scheduled run to delete.
  5. Click Delete icon, then click Yes when prompted to confirm your selection.
    The scheduled run is removed from the Schedule and Future Runs page.

Monitor Integration Runs

You can pause and resume scheduled runs for an integration from the Monitoring page.

To monitor integration runs:
  1. In the left navigation pane, click Home > Monitoring > Integrations > Integrations.
    For scheduled orchestrated integrations, the Scheduled integration icon icon is displayed.
  2. If you want to resubmit a run of a scheduled integration, click Submit now icon.
  3. If you want to pause the scheduled runs, select Pause Schedule from the Actions menu menu.

Create Ad-Hoc Integration Runs Using the REST API

You can create ad-hoc runs on integrations on which a schedule has been defined from the REST API. This is useful for when you want to test a scheduled integration.

To create ad-hoc integration runs:
  1. In the navigation pane, click Home > Integrations > Integrations.
  2. Go to the row of the integration on which a schedule is defined (indicated by the calendar icon).
  3. Click the How to run icon.
  4. Copy the URL from the Submit Now Link section into a tool to test REST APIs (for example, SOAP UI, but you can use any REST invocation tool or script). You can also use CURL commands from a terminal window to invoke the REST APIs.
  5. Invoke the integration run.
  6. Return to the Integrations page, and select Schedule from the Actions menu list.
    The Schedule and Future Runs page is displayed.
  7. Click the Track Instances link in the hamburger menu menu.
    Details about the ah-hoc integration run are displayed.

Activate Older, Imported Scheduled Integrations Using Operations Other Than Read Multiple Files

If an older, scheduled integration in which the first FTP Adapter uses an operation other than Read Multiple Files is imported into Oracle Integration, it cannot be activated.

To work around this issue, perform the following steps:
  1. Edit the integration.
  2. Remove Filename as a business identifier tracking variable.
  3. Save and activate the integration.