Using the Zoho CRM REST Destination Component

The REST Destination Component is an SSIS data flow pipeline component that can be used to write data to Zoho CRM REST services.

See Zoho CRM Rest Connection Manager for how to connect to Zoho CRM and see Zoho CRM REST Source Component for how to retrieve data from Zoho CRM.

There are three configuration pages:

  • General
  • Columns
  • Error Handling

General Page

The General page allows you to specify general settings for the REST Destination component.

SSIS Zoho CRM Destination Component

Connection Manager

The destination component requires a REST connection to Zoho CRM. The Connection Manager drop-down will show a list of all connection managers that are available for your current SSIS package.

Destination Object

The Destination Object option allows you to specify which object to write data to. A drop-down with the available objects is listed here.

Action

The Action option allows you to specify how data should be written to Zoho CRM.

Note: Supported actions may vary from object to object depending on Zoho CRM's API document.

Action Details

This shows the details of the request sent to the endpoint.

Batch Size

The Batch Size lets you specify how many records to send per service call to Zoho CRM.

Note: Some objects do not support batch size, so this option will become disabled.

Input Time Zone

The Input Time Zone option specifies the timezone of all incoming datetime fields. Available options are:

  • UTC
  • Local
Ignore Empty (Available for Bulk related actions)

Ignores the empty values in a column and updates only the fields of a record without empty values.

Duplicate Check Fields (Available for Bulk related actions and Upsert action.)

Specify the API name of a unique field or ID

Bulk Job Internal (secs) (Available for Bulk related actions)

The Bulk Job Interval determines the frequency rate to poll the status of the job to determine if it has been completed.

Bulk Upload File Size (MB) (Available for Bulk related actions)

Specify the file size for upload for the bulk job.

Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each field to its most recent metadata.

Map Unmapped Fields Button

By clicking this button, the component will try to map any unmapped attributes by matching their names with the input columns from upstream components.

Clear All Mappings Button

By clicking this button, the component will reset (clear) all your mappings in the destination component.

Expression fx Icon

Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.

Generate Documentation Icon

Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.

Columns Page

The Columns page of the REST Destination Component allows you to map the columns from upstream components to the REST Fields. On this page, you can select the object whose columns you wish to configure in the top left drop-down.

SSIS Zoho CRM Destination Component - Columns

On the top left of the grid, you can see a checkbox, which can be used to toggle the selection of all available fields. This is a productive way to check or uncheck all available fields.

On the Columns page, you would see a grid that contains four columns as shown below.

  • Input Column: You can select an input column from an upstream component for the corresponding REST Field.
  • REST Field: The field that you are writing data to.
  • Data Type: This column indicates the type of value for the current field.
  • Unmap: This column can be used to unmap the field from the upstream input column, or otherwise it can be used to map the field to an upstream input column by matching its name if the field is not currently mapped.

Error Handling Page

The Error Handling page allows you to specify how errors should be handled when they happen.

SSIS Zoho CRM Destination Component - Error Handling

There are three options available:

  1. Fail on error
  2. Redirect rows to error output
  3. Ignore error

When the Redirect rows to error output option is selected, rows that failed to write to the target REST service will be redirected to the 'Error Output({PrimaryInputName})' output of the Destination Component; rows from the Child Input that failed to find the parent records will be redirected to the 'Orphaned Children Error Output' output of the Destination Component. As indicated in the screenshot below, the blue output connection represents rows that were successfully written, and the red 'Error Output{PrimaryInputName}' and 'Orphaned Children Error Output' connection represent erroneous rows.

  • Error Output({PrimaryInputName})
    • ErrorCode: Contains the error code that is reported by the target service or the component itself
    • ErrorColumn: Contains the name of the column that is causing the error. Note that this column is not always populated
    • ErrorMessage: Contains the error message that is reported by the target service or the component itself
  • Orphaned Children Error Output
    • ErrorCode: Contains the error code that is reported by the target service or the component itself from the Child Inputs
    • ErrorColumn: Contains the name of the column that is causing the error from the Child Inputs. Note that this column is not always populated
    • Input Name: Contains the name of the Child Input that is having an issue.
    • Column Name: Contains the name of the column that is having an issue in the specific Child Input.
    • Column Value: Contains the value of the column that is having an issue in the specific Child Input.
    • Parent Input Name: Contains the Parent Input name of the specific Child Input.
    • Parent Column Name: Contains the name of the column that is having an issue in the specific Parent Input.

SSIS Zoho CRM Destination Component - Error Redirection

On the Error Handling page, there is also an option that can be used to enable or disable the following output field for the destination component.

  • _ZohoId: This field would depend on the Object that you work with and would give the ID of the record created.
  • _IsNew (Available for Bulk Upsert and Upsert actions): Contains value to indicate whether it is a newly created.
  • _ResponseBody: Contains the body of the response received from the endpoint in raw format.

Note: If you don't plan to use this field for any further processing, it is generally recommended to turn them off, so you don't get any warning from SSIS by complaining that those fields are never used, and it should also provide slightly better performance by doing so.

HTTP Diagnostics Output Columns

The below columns are available on the Error Handling page in the default output in order to view and work with the HTTP requests sent by our component and the response received so that these could be used in the downstream data flow.

  • _HttpRequestUrl: The URL of the request
  • _HttpRequestMethod: The HTTP method of the request
  • _HttpRequestHeaders: All of the HTTP headers of the request
  • _HttpRequestBody: The text body of the request
  • _HttpResponseCode: The HTTP status code of the response
  • _HttpResponseCodeName: The name of the HTTP status code of the response
  • _HttpResponseHeaders: All of the HTTP headers of the response
  • _HttpResponseBody: The text body of the response