Tutorial: Build Your First Integration From Scratch

Let's walk through how to create, design, activate, run, and monitor your first integration completely from scratch. You work inside a project. A project contains related resources, including integrations, connections, and more. You can design, manage, and monitor everything in one place.

What Do I Learn from this Tutorial?

This tutorial walks you through performing the following tasks:
  • Creating a project in which you perform all design, management, and monitoring tasks.
  • Creating and configuring an adapter connection that lets your integration receive inbound messages.
  • Creating and configuring an integration that takes either of two paths to process the inbound message:
    • If an email address is specified
    • If an email address is not specified
  • Running (triggering) the integration by specifying a simple message consisting of a name, an optional flow ID, and an email address.
  • Monitoring the results of the integration run.

Step 1. Create a Project in Which to Design, Manage, and Monitor Your Integration

You manage the entire life cycle of an integration from within a project.

  1. In the navigation pane, click Projects.
  2. Click Add, then select Create.
  3. In the Name field, enter My First Project.
  4. Leave all other fields as they are, then click Create.

    The page for your first project is displayed. Your project contains sections for creating, designing, deploying, and monitoring your integration.


    The page for a specific project shows a Details section on the left, with an edit icon and fields for Description, Keywords, Created by, Created on, and Updated on. The Share section is below this. In the upper-middle part of the page are the Design, Deploy, and Observe buttons. In the upper right are the Export, Activate, and Deactivate buttons, and refresh icon. Below is a Search field. Below are the Integrations, Connections, Lookups, and Libraries boxes. An Add button appears in each box.

Step 2. Create an Integration

Let's create your first integration inside the project.

  1. In the Integrations section, click Add.

    The Add integration panel opens.

  2. Click Create, then select Application.


    The Create integration panel shows selections for Application and Schedule.

  3. In the Name field, enter Hello World.
  4. Leave all other fields as they are, then click Create.

    The integration canvas opens with an option for creating a trigger connection. The trigger connection lets your integration receive inbound messages from an application.


    The Hello World integration canvas shows seven icons below the title. To the far right is the Share list. Start and End icons appear in the middle of the canvas. To the right is the Connections section, which includes an Add trigger button.

Step 3. Create a Trigger Connection to Allow Your Integration to Receive Messages

Now let's create a trigger connection inside the integration canvas. The trigger (source) connection allows your integration to receive inbound messages from an application.

  1. In the Connections panel, click Add trigger.

    The Create connection panel opens.

  2. Enter REST in the search field.
  3. Select REST as the adapter connection to use. For this tutorial, the REST Adapter processes inbound messages sent to Oracle Integration.


    The Create connection dialog shows REST being selected.

    The page for configuring the REST Adapter opens.

    1. Enter the following information.
      Field Description
      Name Enter Trigger1.
      Role Select Trigger.

      Roles perform the following tasks.

      • Trigger: Enables an inbound application (endpoint) to trigger (run) the integration.
      • Invoke: Enables your integration to invoke an outbound application (endpoint).
    2. Ignore all other fields, and click Create.

      The page for configuring security and delivery methods for the REST Adapter appears.

    3. Enter the following information:
      Field Description
      Security From the list, select OAuth 2.0 Or Basic Authentication to secure incoming messages.
      Access type Ensure Public gateway is selected. This access type uses the public internet to receive messages.
    4. Click Test to conform that you configured the connection successfully. When testing completes, a success message is displayed.
    5. Click Save.
    6. Click Back Back icon to return to the integration canvas. A menu shows that the newly-created Trigger1 connection is available for selection.


      The Hello World integration canvas shows seven icons below the title. To the far right is the Share list. Start and End icons appear in the middle of the canvas. To the right is the Connections section, which includes an Add trigger button.

Step 4. Specify How the Trigger Connection Receives Messages in the Integration

Now let's configure the REST Adapter connection in the integration. During configuration, you specify details such as the operation, the relative resource URI, the query parameters, and the message payload content.

  1. Select Trigger1.

    The Basic Info page of the Adapter Endpoint Configuration Wizard opens. This wizard enables you to configure the Trigger1 connection for use in the integration.

  2. In the What do you want to call your endpoint field, enter helloWorld, then click Continue to access the Resource Configuration page.
  3. Enter the following information.
    Field Description
    What is the endpoint's relative resource URI Enter the following:
    /names/{name}
    What action do you want to perform on the endpoint Select GET.
    Select any options that you want to configure Scroll to the bottom of the page and ensure that the following options are selected.
    • Add and review parameters for this endpoint
    • Configure this endpoint to receive the response

    The completed Resource Configuration page looks as follows.


    This image is described in the text immediately above it.

  4. Click Continue to access the Request Parameters page.
    1. In the Specify Query Parameters section, click Add.
    2. Double-click the row in the Name column to enter a value.


      The Name and Data Type columns are shown. The row under the Name column header is being clicked. The Data Type column has a value of string.

    3. Enter email, then select string from the Data Type list.
    4. Click Add again.
    5. Enter flowid, then select string from the Data Type list.

      Both query parameters are displayed. Note also that the name template parameter from the relative resource URI you specified in Step 3 is also included. You select these parameters later when designing the business logic for your integration.


      The Name and Data Type columns are shown. Rows with names of email and flowid are shown. Both these names have data type values of string.

    6. Click outside the flowid row.
    7. Click Continue to access the Response page.
  5. Enter the following information.
    Field Description
    Select the response payload format Select JSON Sample.
    <<< inline >>> Click this field and enter the following content, then click OK.
    {
      "Hello" : "Name",
      "Message" : "Email Sent",
      "Email" : "EmailAddress"
    }
    Element Ensure response-wrapper is selected.
    What is the media-type of Response Body Ensure JSON is selected.

    The completed Response page looks as follows.


    This image is described in the text immediately above it.

  6. Click Continue to access the Summary page.
  7. Review your selections, then click Finish.

    The REST Adapter trigger connection is now fully configured for use in the integration.

Step 5. Design How the Integration Receives Messages

Now let's fully design the business logic for your integration. You first create and design a switch action with two paths. The path taken at runtime is based on whether you specify an email address:
  • Route 1: This path is taken if you specify an email address.
  • Otherwise: This path is taken if you don't specify an email address.

Note:

You use the Expression Builder to design much of the business logic for your integration. Be careful while entering your expressions. Simple mistakes such as forgetting a comma or entering an extra blank space can cause validation failure.

Design the Route 1 path of the integration

Let's first delete the map action that was automatically created when you configured the REST Adapter trigger connection in the integration. Instead, you add the necessary map actions for mapping source data to target data inside both switch action paths.

  1. In the map action, click Actions Actions icon, then select Delete.


    The … menu of the Map icon is clicked to display options for Edit, Import, Delete (which is being selected), and Cut.

  2. Click Delete when prompted.

    Now let's add a switch action to define routing expressions in your integration. The switch action takes the first path that evaluates to true. The other paths are ignored.

  3. Hover over the line below the trigger connection and click Add Add icon.


    The Add icon below the trigger connections is being clicked.

  4. Click Actions, then Switch.


    The Search field appears at the top. The Suggestions section follows with a list of commonly selected actions. Below are the Invokes and Actions tab. The Actions tab is selected to show a list of available actions. The Switch action is being selected.

  5. In the switch action, click Actions Actions icon, then select Add, and then Otherwise.

    A switch action with two branches is displayed.


    The Switch action is shown with two paths: Route 1 and Otherwise.

    1. Hover your cursor inside Route 1, and select Actions Actions icon, then Edit Edit icon.

      The Configure route panel opens.

    2. Click Edit Edit icon.


      The Configure route section is shown. The Edit icon is being selected.

    3. Enter sendEmail as the name for the switch action, then click Apply Apply icon.
    4. To the right of the Value field, click Switch to Developer View Switch view icon.
    5. In the Sources tree, expand QueryParameters. These are the query parameters you defined when configuring the REST Adapter in the integration.
    6. Drag email to the Value field. This parameter lets you specify the email address that gets logged to the activity stream when you test and run the integration.


      The Input sources (which is selected) and Functions tabs are shown. Below QueryParameters is expanded to show email being selected. The Configure route section is shown to the right. The route is named sendEmail. Below is the label Invalid Statement. Below this is the label Invalid Statement. Below this is the Value field. The email element has been dragged to this field. The complete namespace path for email is shown. To the right of this field are two icons.

    7. In the Operator list, select !=.
    8. In the Value field, enter two single quotes '' with no blank space in between.

      The completed routing expression looks as follows. When the email address that you specify at runtime is not an empty value, this route of the switch action is taken.


      The Configure route panel shows the sendEmail name and Edit icon. Below is the email != '' expression.

      Note:

      As you design this integration, note that an error icon can appear on the right side of the page. Click this icon for details. Errors may occur due to mistakes you make in the Expression Builder. Follow the instructions in the Error panel to resolve the errors. Other errors that appear are resolved as you complete the design of all parts of this integration. Click outside the error panel to close it.
      The Error icon shows a value of 4.

    9. Click Save, then click outside the Configure route panel to close it.

    Now let's add a logger action. This action enables you to log messages to the activity stream at runtime for diagnostic purposes.

  6. Drag your cursor along the line below Route 1 until the Add Add icon icon appears.
  7. Click Add Add icon, then select Actions, then Logger.


    The Switch icon is shown. Below this, the Route 1 icon with the + (Add) icon is shown. The Search field appears at the top. The Suggestions section follows with a list of commonly selected actions. Below are the Invokes and Actions tab. The Actions tab is selected to show a list of available actions. The Logger action is being selected.

  8. The Configure logger panel appears. The Input Sources and Functions tabs appear in the upper left part of the panel. You use the elements available under these tabs to build a logger expression.
    1. Click Edit Edit icon.
    2. Enter logincoming as the name for the logger action, then click Apply Apply icon.
    3. To the right of the Logger message field, click Switch to Developer Mode Switch view icon.
    4. Click the Functions tab, then expand String.
    5. Drag a concat function into the Logger message field.


      The Input sources and Functions (which is selected) tabs are shown. Below this, Functions is expanded to show concat being selected. The Configure logger section is shown to the right. The route is named logincoming. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The function fn:concat(string1, string2, ...) has been dragged into this field. To the right of this field are two icons.

    6. Remove the content between the parentheses.
    7. After the opening parenthesis, enter the following:
      'Hello World was invoked by ', 

      Ensure that you enter a blank space before the single quote and after the comma.

    8. Click the Input sources tab, and expand TemplateParameters.
    9. Drag name before the closing parenthesis.


      The Input sources (which is selected) and Functions tabs are shown. Below this, TemplateParameters is expanded to show name being selected. The Configure logger section is shown to the right. The route is named logincoming. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The field includes a value of fn:concat('Hello World was invoked by ', /ns12:TemplateParameters/ns18:name). To the right of this field are two icons.

    10. Before the closing parenthesis, enter the following:
      , '. Email will be sent to ', 

      Note the single blank space after the last comma.

    11. Expand QueryParameters.
    12. Before the closing parenthesis, drag email.


      The Input sources (which is selected) and Functions tabs are shown. Below this, QueryParameters is expanded to show email being selected. The Configure logger section is shown to the right. The route is named logincoming. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The field includes a value of fn:concat('Hello World was invoked by ', /ns12:TemplateParameters/ns18:name, '. Email will be sent to ', /ns12:execute/ns12:QueryParameters/ns18:email). To the right of this field are two icons.

    13. Before the closing parenthesis, enter the following:
      , '!'

      The completed logger action looks as follows.


      The Configure logger section is shown. The route is named logincoming. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The field includes a value of fn:concat('Hello World was invoked by ', /ns12:TemplateParameters/ns18:name, '. Email will be sent to ', /ns12:execute/ns12:QueryParameters/ns18:email, '!'). To the right of this field are two icons.

    14. Click Switch to Designer View Switch view icon to toggle to designer view, which shows a more user-friendly version of the expression.


      The Logger message is shown: concat('Hello World was invoked by, ', name, '. Email will be sent to '. email, '!')

    15. Click Save, then click outside the Configure logger panel to close it.

    Now let's assign an optional secondary business identifier to track payload fields in messages during runtime. Each integration requires at least one business identifier (known as the primary business identifier) to track the status of your running instance (for example, was the run successful or did the run fail). Later in this tutorial, you assign the primary business identifier from a separate location in the integration canvas.

  9. Drag your cursor along the line below Logger until the Add Add icon icon appears.
  10. Click Add Add icon, then select Actions, then Assign.


    The Route 1 icon is shown. Below this, the Logger icon with the + (Add) icon is shown. The Search field appears at the top. The Suggestions section follows with a list of commonly selected actions. Below are the Invokes and Actions tab. The Actions tab is selected to show a list of available actions. The Assign action is being selected.

    1. Click Edit Edit icon.
    2. Enter assignSecondaryTracking as the name for the assign action, then click Apply Apply icon.
    3. Click Add Install icon.
    4. Click inside the Variable field, and select tracking_var_2 from the list.


      The Configure assign panel is shown. The assignSecondaryTracking name and Edit icon are shown. Below this, the Variable list shows tracking_var_2 being selected.

    5. To the right of the Value field, click Switch to Developer View Switch view icon.
    6. Clear the content from the Value field.
    7. Expand QueryParameters, and drag email into the Value field.


      The Input sources (which is selected) and Functions tabs are shown. Below this, QueryParameters is expanded to show email being selected. The Configure assign section is shown to the right. The assign is named assignSecondaryTracking and there is an Edit icon. Below this is the expression tracking_var_2 = email. Below this is the Variable field with a value of tracking_var_2. Below this is the Operation field with a value of =. Below this is the Value field with a value of / ns12:execute/ns12:QueryParameters/ns18:email.

    8. Click Save, then click outside the Configure assign panel to close it.

    Now let's design the contents of the notification email you receive after running the integration.

  11. Drag your cursor along the line below Assign until the Add Add icon icon appears.
  12. Click Add Add icon, then select Actions, then Notification.


    The Route 1 and Otherwise icons are shown. Below this, the Logger icon is shown. Below this, the Assign icon with the + (Add) icon is shown. The Search field appears at the top. The Suggestions section follows with a list of commonly selected actions. Below are the Invokes and Actions tab. The Actions tab is selected to show a list of available actions. The Notification action is being selected.

    The Configure notification panel opens.
    1. Click Edit Edit icon.
    2. Enter sendEmail as the name for the notification action, then click Apply Apply icon.
    3. Click the To field.

      The Sources panel opens.

    4. Click Switch to Developer View Switch view icon.
    5. Expand QueryParameters, and drag email into the To field.
    6. Click the From field.
    7. Expand QueryParameters, and drag email into the From field.
    8. Click Switch to Developer View Switch view icon again.
    9. Click the Subject field.
    10. Click the Functions tab, then expand String.
    11. Drag concat into the Subject field.


      The Input sources and Functions (which is selected) tabs are shown. Functions is expanded to show the expanded String section. To the right, the Configure notification panel shows a name of sendEmail and an Edit icon. Below this is the To field with a value of email, the From field with a value of email, and the Subject field with a value of fn:concat(string1, string2 ...). Two icons appear to the right.

    12. Remove the content between the parentheses.
    13. After the opening parenthesis, enter the following:
      'Hello' , 

      Note the blank space after the comma.


      The Configure notification panel shows a name of sendEmail and an Edit icon. Below this is the To field with a value of email, The From field with a value of email, the Subject fields with a value of fn:concat('Hello' , ). Two icons appear to the right.

    14. Click the Input sources tab, expand TemplateParameters, and drag name into the concat function before the closing parenthesis.


      The Input sources (which is selected) and Functions tabs are shown. TemplateParameters is expanded to show the name element. To the right, the Configure notification panel shows a name of sendEmail and an Edit icon. Below this is the To field with a value of email, the From field with a value of email, and the Subject field with a value of fn:concat('Hello' , /ns12:execute/ns12:TemplateParameters/ns17:name). Two icons appear to the right.

    15. Click the Body field and enter the following text. This is the email message you receive when the integration runs successfully.
      <html><p><span style="color: #298022;"><strong>Welcome to Oracle Integration!</strong></span></p></html>
    16. Click Install icon in the No parameters section at the bottom.
    17. In the Parameter field, enter name.
    18. Click the Input sources tab, expand TemplateParameters, and drag name into the Parameter value field.


      The Input sources (which is selected) and Functions tabs are shown. TemplateParameters is expanded to show the name element. To the right is the To field with a value of email, the From field with a value of email, and the Subject field with a value of concat ( 'Hello' , name ). Two icons appear to the right. Below this is the Body field with html code and a text value of Welcome to Oracle. Below this is the Parameter name field with a value of name. Below this is the Description field. Below this is the Parameter value field with a value of /ns12:execute/ns12:TemplateParameters/ns17:name.

    19. Click Save, then click outside the Configure notification panel to close it.
  13. Drag your cursor along the line below Notification until the Add Add icon icon appears.
  14. Click Add Add icon, then select Actions, then Map.


    The Logger icon shown. Below this, the Assign icon is shown. Below this, the Notification icon with the + (Add) icon is shown. The Search field appears at the top. The Suggestions section follows with a list of commonly selected actions. Below are the Invokes and Actions tab. The Actions tab is selected to show a list of available actions. The Map action is being selected.

    The Add Map panel opens.

    1. Select the helloWorld endpoint to which to map data, and click Create.


      The Add Map dialog shows Cancel and Create buttons. Below this is the section for selecting the endpoint to which to map data. The helloWorld - Trigger1 connection that you configured earlier is displayed.

      The mapper opens.

    2. Expand Template Parameters and Query Parameters in the Sources section and Response Wrapper in the Target section.
    3. Perform the following mappings:
      • Drag the source Name element to the target Hello element.
      • Drag the source Email element to the target Email element.


      The Map to helloWorld map shows the Sources, Mapping canvas, and Target sections. The source Name element has been dragged to the target Hello element and the source Email element has been dragged to the target Email element. The Validate button appears in the upper right. Below this button are the Developer, XSLT, and six other icons. Above the Sources label are three icons.

    4. Click Validate.
    5. Click Back Back icon to exit the mapper and return to the integration canvas. Your mappings are automatically saved.
  15. Above the integration, click Horizontal to see a horizontal view of the integration.Horizontal layout icon.

    You have now completed configuration of the first route of the switch action.


    The Trigger connection is shown. To the right is the Switch action with Route 1 and Otherwise. The Route 1 path has a Logger action, Assign action, Notification action, and Map action. At the end is a Return icon.

Design the Otherwise path of the integration

Now let's design the second (Otherwise) path of the integration.

  1. Drag your cursor along the line to the right of Otherwise until the Add Add icon icon appears.
  2. Click Add Add icon, then select Actions, then Logger.


    The Otherwise route is hovered over. The Add icon is selected to show a menu with a Search field, a Suggestions section with commonly-used actions, an Invokes tab, and an Actions tab. The Actions tab is selected to show options for Assign, B2B, Data stitch, and Logger. The Logger option is selected.

    1. Click Edit Edit icon.
    2. Enter logincomingWithoutEmail as the name for the logger action, then click Apply Apply icon.
    3. In the Logger message field, click Switch to Developer Mode Switch view icon.
    4. Click the Functions tab, then expand String.
    5. Drag a concat function into the Logger message field.
    6. Remove the content between the parentheses.
    7. After the opening parenthesis, enter the following:
      'Hello World was invoked by ', 

      Note the single blank space after the comma.


      The Configure logger section is shown. The logger is named logincomingWithoutEmail and includes an Edit icon. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The field includes a value of fn:concat('Hello World was invoked by ', ) To the right of this field are two icons.

    8. Click the Input sources tab, and expand TemplateParameters.
    9. Drag name before the closing parenthesis.


      The Input sources (which is selected) and Functions tabs are shown. Below this, TemplateParameters is expanded to show name being selected. The Configure logger section is shown to the right. The logger is named logincomingWithoutEmail and there is an Edit icon. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The field includes a value of fn:concat('Hello World was invoked by ', /ns12:execute/ns12:TemplateParameters/ns17:name) To the right of this field are two icons.

    10. Before the closing parenthesis, enter the following:
      , '.'


      The Input sources (which is selected) and Functions tabs are shown. Below this, TemplateParameters is expanded to show name being selected. The Configure logger section is shown to the right. The route is named logincomingWithoutEmail. Below is the Log section, with options for Always (which is selected) and When tracing level is set to Audit. Below this is the Logger message field. The field includes a value of fn:concat('Hello World was invoked by ', /ns12:execute/ns12:TemplateParameters/ns17:name, '.') To the right of this field are two icons.

    11. Click Save, then click outside the Configure logger panel to close it.
  3. Drag your cursor along the line to the right of the Logger until the Add Add icon icon appears.
  4. Click Add Add icon, then select Actions, then Map.


    The two routes of the Switch actions are shown. Route 1 shows Logger, Assign, and Notification actions. The Otherwise route shows a Logger action with the + (Add) icon. The Search field appears at the top. The Suggestions section follows with a list of commonly selected actions. Below are the Invokes and Actions tab. The Actions tab is selected to show a list of available actions. The Map action is being selected.

    The Add Map panel opens.

    1. Select the helloWorld endpoint to which to map data and click Create.


      The Add Map dialog shows Cancel and Create buttons. Below this is the section for selecting the endpoint to which to map data. The helloWorld - Trigger1 connection that you configured earlier is displayed.

      The mapper opens.

    2. Expand Template Parameters in the Sources section and Response Wrapper in the Target section.
    3. Drag the source Name element to the target Hello element.


      The Map to helloWorld map shows the Sources, Mapping canvas, and Target sections. The source name element has been dragged to the target Hello element. The Validate button appears in the upper right. Below this button are the Developer, XSLT, and six other icons. Above the Sources label are three icons.

    4. Click Validate.
    5. Click Back Back icon to exit the mapper and return to the integration canvas. Your mappings are automatically saved.

    Both routes are now configured.


    The Trigger connection is shown. The two routes of the Switch actions are then shown. Route 1 shows Logger, Assign, Notification, and Map actions. The Otherwise route shows a Logger action and Map action. A Return action is shown at the far right.

Step 6. Define a Business Identifier to Track Message Delivery at Runtime

Business identifiers enable you to track payload fields in messages during runtime. Each integration requires a primary business identifier. Without specifying a business identifier, you cannot complete design integration or run your integration.

  1. Above the integration, click Business Identifier Business identifiers icon.
    1. Expand TemplateParameters, and drag name to the Business identifier field.


      The Sources section shows TemplateParameters expanded. The name element has been dragged to the Business identifier name field. Above this field is the Business identifier variable field with tracking_var_1 as the value. Above this is the Business identifier field with a value of name. Two icons appear to the right of this field. All these fields are in the Primary business identifiers panel.

    2. Click Save, then click outside the Business identifiers panel to close it.
  2. Check for any red error icons. If you see any, click the icon for details and resolve those errors.
  3. Click Back Back icon to exit the integration canvas and return to the project page.

Step 7. Activate and Run the Integration

You are now ready to activate the integration to the runtime environment. Once activated, you can run the integration.

  1. In the Integrations section, click Actions Actions icon, then select Activate.


    The Search field appears at the top. Below, the Integrations section shows Hello World with a version of 1.0.0 and a state of Configured. To the right is a menu with the Activate option being selected.

  2. Keep the tracing level set to Production.
  3. Click Activate.
  4. Click Refresh Refresh iconperiodically.

    The integration status changes to Active.


    The Integrations section shows the Hello World integration, version 1.0.0, a status of Active, and the Actions (…) menu.

    You are now ready to run the integration and send a message.

  5. In the Integrations section, click Actions Actions icon, then select Run.


    The Design and Deploy tabs are shown. Below this is the Search field. The Integrations section shows the Hello World integration, version 1.0.0, and a status of Active. The Actions (…) menu is selected to show the Run option being selected.

    The Configure and run page enables you to run and test REST Adapter trigger-based integrations. This page provides a way of testing the sending of an inbound message from an actual application.

  6. In the Request section, specify your name, a flow ID number, and your email address.


    The Request section shows the URI parameters (which is selected), Headers, Body, cURL, and Integration properties tabs. Fields are provided for entering the name, flowid, and email values.

  7. Click Run to send your inbound message to the integration.
  8. Click Refresh Refresh iconperiodically.

    The Activity stream panel opens and shows the movement of the message through the actions that you designed (switch, logger, mapper, and others). The unique instance ID that was created for this integration run is displayed at the top. All milestones in this activity stream are green, indicating the successful delivery of this message.


    The Activity stream panel is shown. The instance ID value is shown. The Tracing level is set to production. Below this are sections of the integration through which the message was passed. Each is green, indicating success.

  9. Click View View icon next to the logger and notification actions to view the message payload that passed through the integration.


    The Activity stream panel is shown. The Logger logincoming payload is selected to show the message payload of "Hello World was invoked by Mark. Email will be sent to Mark...com! The notification message sent is expanded to show "Welcome to Oracle Integration!".

Step 8. Monitor Message Delivery Status at Runtime

  1. Close the Activity steam panel and click Track instances.

    The Observe tab in your project opens. This tab enables you to monitor the status of your integration instance. The status of the instance is displayed as Succeeded.

    The page for a specific project shows the Design, Deploy, and Observe tabs. Below is a field that shows the latest filter settings. At the top are search and filter icons. At the far left are Instances, Future runs, and Audit tabs. At the far right is the time stamp and refresh button. Below all these buttons and icons is a table with columns for Primary Identifier, instance Id, Business Identifiers, Status, and Duration. The table is populated with instance details. At the far left is a graph that shows the state of instances: Successful, Aborted, Queued, Blocked, Errored, In progress, Paused, and Resubmitted.

  2. Check your email inbox for a new message.
  3. Open the email and note the following message:


    The email message is sent to Mark. The message is Welcome to Oracle Integration!.

Congratulations! You have successfully created, designed, activated, run, and monitored your first integration. See the sections below for more information about the capabilities used in this tutorial.