As outlined in the post Building Cloud Connectors: Polling, a Cloud Connector is an application that, using the Eloqua APIs "polls" an Eloqua Campain Canvas or Program Builder Step for members.  It then performs an action on those members, and sets the member status to move it onto the next step.


The basic flow for a Cloud Connector app is as follows:


  1. Cloud Connector app "polls" the Campaign Canvas or Program Builder Step, and retrieves a count of members with a status of "Awaiting Action" - (see Cloud Connector API - Counting the Members in a Program Step)
  2. Once the step members have been counted, the app then makes a call to retrieve them (see Cloud Connector API - Retrieving IDs of Members in Program Builder Step) and mark them as "In Progress".  This ensures that other instances of the same Cloud Connector, or other threads that are operating at the same time, do not retrieve the same members more than once.
  3. The app then performs an operation on the member (for example, reaches out an external system and pulls data back into the contact record), and when completed, marks the record with a status of "Completed" (see post in Step 2).
  4. Program Builder or Campaign Canvas then sees the status has changed to "Completed" and moves the members on to the next step in the program.


For counting members in a step, retrieving them, and setting their status, you will need to use the ExternalActionService.


For updating contacts, companies, or custom data objects, you will need to use the EloquaService.