In this article

Overview

This Snap provides the functionality to poll the status of the batch job submitted to Salesforce by the preceding Salesforce Snaps (Create/Delete/Update/Upsert) in Bulk API mode. This Snap uses the Salesforce Bulk API to check the batch job status and retrieve the result for each record. The Snap sends the successful record writes to the output view and the failed record writes to the error view.

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Task Pipelines.

Limitations and Known Issues

None.

Snap Views

View TypeView FormatNumber of ViewsExamples of Upstream and Downstream SnapsDescription
InputDocument
  • Min: 1
  • Max: 1
  • Salesforce Delete
  • Mapper
This Snap has exactly one input view and receives documents in the view. Each document contains a Map data for the job ID (key: "jobId"),  batch ID (key: "batchId") and URL (key: "url"), and records of field-value pairs.
OutputDocument
  • Min: 1
  • Max: 1
  • Copy
  • File Writer
This Snap has exactly one output view and produces documents in the view. Each document contains Map data that includes an object ID and records of the field-value pairs for the successful record write.
ErrorDocument
  • Min: 1

  • Max: 1

N/AThis Snap has one optional error view and produces documents in the view. Each document contains Map data that includes an object ID, records of the field-value pairs for the failed record write, and an error message.

Snap Settings

Field

Field Type

Description


Label*


Default Value:Salesforce Poller
Example
Salesforce Poller

String

Specify a unique name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.


Polling interval*


Default Value:5
Example
5

String

Specify the polling interval in seconds for the Bulk API batch job execution. At each polling interval, the Snap checks the status of the Bulk API batch processing.

Maximum value: 60 

Polling timeout*


Default Value: 3000
Example:
300

String

Specify the polling timeout in seconds for the Bulk API batch job execution. If the timeout occurs while waiting to complete the batch job execution, the Snap displays an exception.

The polling timer starts at the beginning of the pipeline execution, and NOT when the first document passes into the Salesforce Poller snap. The Polling Timeout includes waiting for the first document to pass into the Salesforce Poller Snap.


Pass through


Default Value:Selected


Checkbox

Select this checkbox to display input data fields as the top level flatmap data merged with the response from SFDC in the output document.

If you deselect this checkbox, the output document will have the response from SFDC only.


Snap Execution

Dropdown list

Examples


Pipeline: Salesforce.com Data to a File: This pipeline reads data using a Salesforce read and writes it to a file.

The following pipeline shows how a Salesforce Create Snap creates an object record and the Salesforce Poller Snap is used to poll the status of the object creation action:   

 

In the pipeline execution:

  1. A JSON Generator provides object record details to create an object record. A Salesforce Create Snap creates the object record:


     
  2. The Salesforce Poller Snap receives the record creation details and provides the status of the create action: 


    Successful execution of the Snap gives the following preview:


  


Salesforce Poller pipeline with generic error output view

In this pipeline, the Salesforce Poller Snap polls the status from a delete action. The status of the invalid records are routed to the error view.

 
To the upstream Mapper Snap, pass the value of ID which is retrieved from the target schema of the Salesforce Delete Snap.

The Salesforce Delete Snap deletes the record 001i000001g41S9AAI from the object type Account


 The output preview from the Salesforce Delete Snap is as displayed below:


 The Salesforce Poller Snap checks the job status and retrieves the result. 

The output error view is displayed below:
Note that the ID 001i000001g41S9AAI is already deleted and hence the status routed to the output error view is displayed as ''entity is deleted''