Configure Zuora as a data pipeline source

Set up Zuora as a data pipeline source to extract billing, subscription, payment, and revenue data from Zuora and sync it to your destination.

Use this guide to connect Zuora as a data pipeline source, configure your pipeline, and understand the supported objects, sync modes, and limitations.

Features supported

The following features are supported when you use Zuora as a pipeline source:

  • Cloud connectivity: Workato connects to Zuora through the Zuora REST API over https. No on-prem agent is required.
  • Environment support: Connect to Zuora production, API sandbox, and central sandbox environments.
  • Sync modes: Full sync and incremental sync. Incremental sync uses each record's UpdatedDate timestamp to extract only new and updated records.
  • Object-level selection: Choose which Zuora objects to sync, including custom objects.
  • Delete tracking: Optional detection of hard-deleted records through a companion delete job. Delete tracking is disabled by default. Refer to Delete tracking for more information.
  • Schema drift handling: Automatically sync new fields added in Zuora, or block new fields to keep the destination schema fixed.
  • Configurable sync frequency: Sync on a time-based or cron-based schedule. The minimum interval is 15 minutes.

Prerequisites

Complete the following requirements before you configure Zuora as a data pipeline source.

  • A Zuora tenant with API access
  • Credentials for your chosen authentication method:
    • OAuth 2.0: A client ID and client secret for an OAuth client created in Zuora. Refer to Create an OAuth client in Zuora for setup steps.
    • Basic authentication: The username and password of an integration user provisioned for Workato. Use Basic authentication only for Zuora Production Copy environments.
  • Zuora features enabled for any feature-gated objects you plan to sync, such as Invoice Settlement, Orders, or Prepaid with Drawdown. Refer to Supported objects for the feature each object requires.

REQUIRED PERMISSIONS

The OAuth client inherits the permissions of the Zuora user it is created for. Use a user with read access to the objects you plan to sync.

Create an OAuth client in Zuora

Create an OAuth client for a user in your Zuora tenant to generate the client ID and client secret that Workato requires. Refer to Create an OAuth client for a user in the Zuora documentation for instructions. Skip this section if you plan to use Basic authentication.

SAVE YOUR CLIENT SECRET

Zuora displays the client secret only when you create the OAuth client. Store it securely before you leave the page.

Supported connection types

Zuora data pipelines support the following authentication methods:

  • OAuth 2.0: Authenticates with a client ID and client secret generated in Zuora. Zuora recommends OAuth 2.0 for all server-to-server integrations. Refer to Create an OAuth client in Zuora for setup steps.
  • Basic authentication: Authenticates with the username and password of an integration user. Use Basic authentication only for Zuora Production Copy environments.

Connect to Zuora

Complete the following steps to connect Zuora as a data pipeline source.

Connect to Zuora

The Zuora connector supports the following authentication types:

OAuth 2.0

1

Select Create > Connection.

2

Search for Zuora on the New connection page and select it.

3

Enter a name in the Connection name field.

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Use the Authorization type drop-down menu to select OAuth 2.0.

6

Enter the client ID of the OAuth client you created in Zuora in the Client ID field.

7

Enter the client secret of the OAuth client in the Client secret field.

8

Use the Environment drop-down menu to select the Zuora endpoint for your tenant.

9

Toggle to the text field to enter a Services endpoint or a Production Copy environment URL.

The following table lists common Zuora endpoints:

EnvironmentBase URL
US Productionhttps://rest.zuora.com
US API Sandboxhttps://rest.apisandbox.zuora.com
US Developer / Central Sandboxhttps://rest.test.zuora.com
EU Productionhttps://rest.eu.zuora.com
10

Enter the WSDL service version in the Zuora SOAP API Version field, such as 91.0. Refer to Zuora SOAP API version history to find the latest version.

11

Select Connect to verify and save the connection. Workato displays a success message when the connection is established.

Basic authentication

1

Select Create > Connection.

2

Search for Zuora on the New connection page and select it.

3

Enter a name in the Connection name field.

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Use the Authorization type drop-down menu to select Basic.

6

Enter the username of the integration user provisioned for Workato in the Username field.

7

Enter the password of the integration user in the Password field.

8

Use the Environment drop-down menu to select the Zuora endpoint for your tenant.

9

Enter the WSDL service version in the Zuora SOAP API Version field, such as 91.0. Refer to Zuora SOAP API version history to find the latest version.

10

Select Connect to verify and save the connection. Workato displays a success message when the connection is established.

Configure the pipeline

Complete the following steps to configure Zuora as your data pipeline source:

1

Select Create > Data pipeline.

2

Enter a name for the data pipeline in the Data pipeline name field.

Data pipeline setupData pipeline setup

3

Use the Location drop-down menu to select the project where you plan to store the data pipeline.

4

Click Start building.

5

Click the Extract new/updated records from source app trigger. This trigger defines how the pipeline retrieves data from Zuora.

6

Use the Your Connected Source Apps drop-down menu to select Zuora.

7

Choose the Zuora connection you plan to use for this pipeline. Alternatively, click + New connection to create a new connection.

8

Click Add object to open the Add new objects panel.

Add objectsAdd objects

9

Search or browse the list of available Zuora objects, select the objects you plan to sync, and click Add.

FEATURE-GATED OBJECTS

Some objects are available only when the corresponding Zuora feature is enabled in your tenant, such as Invoice Settlement or Orders. Refer to Supported objects for details.

10

Review and customize the schema for each selected object. The pipeline automatically fetches an object schema when you select it to ensure the destination matches the source.

Expand any object to view its fields. Keep all fields selected to extract all available data, or deselect specific fields to exclude them from data extraction and schema replication.

11

Optional. Configure field-level data protection by expanding an object and choosing how to handle each field:

  • Replicate as is: Data values at the source replicate identically to the destination.
  • Hash: Hash sensitive data values in the field before syncing to your destination.

Workato recommends hashing personally identifiable information (PII) and other sensitive fields. Refer to Sensitive data handling for a list of objects that commonly contain PII.

12

Click Add object again to add more objects. Repeat this step to include additional Zuora objects in your pipeline.

13

Use the Choose how to handle schema changes drop-down menu to select a schema drift handling option:

  • Auto-sync new fields: Automatically detects and syncs new fields added in the source.
  • Block new fields: Keeps the schema fixed after the pipeline starts. You must add new fields manually.

Workato recommends Auto-sync new fields because Zuora tenants frequently add custom fields to standard objects.

14

Optional. Enter a value in the Concurrency limit field to limit the number of concurrent operations. Leave the field blank to use the default limit set by Workato. The value can't exceed the default limit of 100.

15

Configure how often the pipeline syncs data from Zuora to the destination in the Frequency field. Choose either a standard time-based schedule or define a custom cron expression.

Supported objects

Zuora data pipelines sync data from Zuora REST API resources. The following tables list the supported objects, grouped by category. Each object syncs as a separate table in your destination.

All objects support full sync and incremental sync. Incremental sync uses the UpdatedDate field on each record. Delete tracking is opt-in per object and disabled by default. Refer to Delete tracking for more information.

Core objects

ObjectSync modesNotes
AccountFull sync, incremental
AmendmentFull sync, incremental
Bill RunFull sync, incremental
ContactFull sync, incrementalContains PII
InvoiceFull sync, incremental
Invoice ItemFull sync, incrementalHigh-volume object
Invoice ScheduleFull sync, incremental
PaymentFull sync, incremental
Payment ApplicationFull sync, incremental
Payment MethodFull sync, incrementalContains sensitive data
Payment Method SnapshotFull sync, incrementalContains sensitive data
Payment RunFull sync, incremental
Payment ScheduleFull sync, incremental
Payment Schedule ItemFull sync, incremental
Processed UsageFull sync, incremental
ProductFull sync, incremental
Rate PlanFull sync, incremental
Rate Plan ChargeFull sync, incrementalRefer to Rate Plan Charge update detection
RefundFull sync, incremental
SubscriptionFull sync, incremental
UsageFull sync, incrementalHigh-volume object

Feature-gated objects

The following objects require the corresponding Zuora feature to be enabled in your tenant:

ObjectSync modesRequired Zuora feature
Credit MemoFull sync, incrementalInvoice Settlement
Credit Memo ApplicationFull sync, incrementalInvoice Settlement
Credit Memo ItemFull sync, incrementalInvoice Settlement
Debit MemoFull sync, incrementalInvoice Settlement
Debit Memo ItemFull sync, incrementalInvoice Settlement
OrderFull sync, incrementalOrders
Order ActionFull sync, incrementalOrders
Order Line ItemFull sync, incrementalOrders
FulfillmentFull sync, incrementalOrders
Daily Consumption SummaryFull sync, incrementalPrepaid with Drawdown
Prepaid BalanceFull sync, incrementalPrepaid with Drawdown
Prepaid Balance FundFull sync, incrementalPrepaid with Drawdown
Prepaid Balance TransactionFull sync, incrementalPrepaid with Drawdown
Delivery AdjustmentFull sync, incrementalDelivery Pricing
Billing TransactionFull sync, incrementalOrder-to-Revenue
ObjectSync modesNotes
Taxation ItemFull sync, incrementalHigh-volume object
Product Rate PlanFull sync, incremental
Product Rate Plan ChargeFull sync, incremental
Product Rate Plan Charge TierFull sync, incremental
Rate Plan Charge TierFull sync, incremental
Invoice Item AdjustmentFull sync, incrementalDeprecated by Zuora in WSDL version 64 and later
Refund ApplicationFull sync, incremental

Custom objects

Zuora data pipelines discover custom objects in your tenant automatically. Custom objects support full sync and incremental sync through the UpdatedDate field.

Sync modes

Zuora data pipelines support full sync and incremental sync.

Full sync

Full sync extracts all records for an object from Zuora. Use full sync for the initial historical sync or to rebuild an object's table in your destination.

Incremental sync

Incremental sync extracts only records created or updated after the previous sync, based on each record's UpdatedDate timestamp. Records that share the same timestamp at a sync boundary may be re-delivered on the next sync. The destination deduplicates them by record Id, so no duplicates persist.

Business status changes, such as voiding an invoice, update the record's UpdatedDate and flow through incremental sync automatically.

Delete tracking

Zuora handles record deletion in three ways, and each interacts differently with data pipelines:

  • Status transitions: Most operational deletions in Zuora, such as voiding an invoice, change the record's status field. The record continues to exist and syncs through normal incremental sync. No special handling is required.
  • Hard deletes: Records deleted through the Zuora DELETE API disappear from the standard extraction path immediately. When delete tracking is enabled for an object, the pipeline detects hard-deleted records through a companion query and marks them in the _zuora_deleted column. Zuora retains hard-deleted records for 30 days. Deletions older than 30 days can't be detected.
  • GDPR scrubs: Records removed with GDPR scrub operations aren't queryable by any API and can't be detected.

Delete tracking is disabled by default. Enable it only if your organization hard-deletes records through the Zuora DELETE API, for example in data migration workflows.

Schema and data type handling

The following sections provide information on schema and data type handling:

Synthetic columns

Workato adds the following synthetic column to destination tables when delete tracking is enabled for an object:

ColumnTypePurpose
_zuora_deletedBooleantrue for records detected as hard-deleted in Zuora; false for active records

The _zuora_deleted column is omitted from the schema when delete tracking is disabled for the object.

Sensitive data handling

Zuora objects can contain PII and payment data. The following objects commonly contain sensitive fields:

ObjectSensitive data
ContactPII, such as names, email addresses, and postal addresses
Payment MethodPayment instrument data
Payment Method SnapshotPayment instrument data

Use the Hash option in field-level data protection during pipeline configuration to protect sensitive data before it reaches your destination. Refer to the Configure the pipeline steps for more information.

Limitations

The following limitations apply when you use Zuora as a data pipeline source:

Hard-deleted records

Records hard-deleted through the Zuora DELETE API are detectable for 30 days only, and only when delete tracking is enabled for the object. Records created and deleted within the same sync window, and records removed with GDPR scrub operations, can't be detected. Refer to Delete tracking for more information.

Minimum sync frequency

The minimum supported sync interval is 15 minutes. You can't trigger syncs more frequently than this.

Last updated: