Manage datasets and syncs via YAML files in your Git repository.
A sample YAML configuration file within Git that describes a dataset
census/models/
in your Census settings, moving models to a different directory or subdirectory will delete the model from Census.0.x
. Version updates will automatically upgrade your repository with new feature support, until 1.x
. We do not anticipate changes to any core model and sync components (like the mappings
or operational_settings
sync configuration blocks).
YAML specs will be upgraded to enable support for new resources, and match support for model and sync configuration options. After 1.x
, you will have migration windows announced at least 2 weeks in advance, with the ability to choose exactly when upgrades occur.
main
). To enable GitLink to write to Git, you’ll need to bypass pull/merge requests (and sometimes status checks) for the protected branch.
census/models/*.yml
) must be entirely empty, or populated only by configuration files that Census can read. As such, if you have .txt
files, README.md
files, or other files that are not YAML-deserializable and correspond to a known resource configuration by Census, GitLink will not work.paused
- (Type: Boolean) Indicates whether the sync is self-operating. Setting this to false will prevent the sync from running automatically based on given schedule or triggers.label
- (Type: String) A short human readable description.template_sync_identifier
- (Optional, Type: String) Resource identifier used as a template when initially creating this one. This property is used for attribution and has no effect on the sync’s configuration.behavior
- (Type: Object) Group of parameters that governs how the sync behaves.
operation
- (Type: String) How to deal with records that match (and that don’t match) between the source and destination. Possible values are upsert
, update
, create
, mirror
, append
or delete
.append_properties
- (Type: Object) Parameters for append only syncs (only applies if the append
option was selected for sync operation).
backfill_records
- (Type: Boolean) Indicate during append sync setup whether records in the source should be backfilled in the destination or just new records moving forward.high_water_mark
- (Optional, Type: Object) The column (almost always a timestamp) that should be used when identifying new records in an append sync. Including this will use timestamps to determine new records instead of the default Census diff engine (using primary keys).
column_name
- (Type: String) Column name to use as the high water mark key.mirror_properties
- (Optional, Type: Object) Properties when the mirror sync behavior is provided. Only required when mirror behavior is used and ignored otherwise.
strategy
- (Type: String) How the sync should maintain the mirror between the source and destination. Possible values are sync_updates_and_deletes
or sync_updates_and_nulls
.mapping_configuration
- (Optional, Type: Object) Parameters for how Census should handle the mappings of the sync.
sync_all_source_columns
- (Optional, Type: Object) Indicate whether all source columns should be sent to the destination.
enabled
- (Type: Boolean) Denote if sync all source columns is active for this sync.mode
- (Type: String) How are existing values in destination handled. Possible values are add_only
or add_and_delete
.name_normalization
- (Optional, Type: String) Indicate how the sync would map the source column names to their corresponding destination field names. Possibles values are match_source_names
, start_case
, lower_case
, upper_case
, camel_case
, snake_case
or ensure_uniqueness
.order_by
- (Optional, Type: String) Indicate how the mappings between source and destination are ordered. Possible values are alphabetical_column_name
or mapping_order
.mode
- (Type: Object) Define run mode
type
- (Type: String) Indicate run mode type either triggered
or live
triggers
- (Type: Object) Upstream triggers that would trigger the current sync to run, only valid for triggered syncs.
schedule
- (Type: Object) Schedule of the sync.
frequency
- (Type: String) Frequency of the sync trigger. Possible values are never
, expression
, continuous
, hourly
, daily
, weekly
or quarter_hourly
.day
- (Optional, Type: String) Week of the day description of the sync schedule. Required if frequency
is weekly
. Possible values are Monday
, Tuesday
, Wednesday
, Thursday
, Friday
, Saturday
or Sunday
.hour
- (Optional, Type: Integer) Hour description of the sync schedule. Required if frequency
is weekly
, hourly
or daily
. Possible values are 0
- 23
.minute
- (Optional, Type: Integer) Minute description of the sync. Required if frequency
is weekly
, hourly
or daily
. Possible values are 0
-59
.cron_expression
- (Type: String) Cron expression for the sync’s frequency. Ensure that for frequency
above, the expression
option is specified. Please refer to the Census documentation on what CRON expressions we support.on_other_sync_success
- (Optional, Type: String) Resource identifier of the sync that would trigger the current sync. The trigger would only be fired if the former sync succeeds.dbt_cloud
- (Optional, Type: Object) dbt cloud specifications for job that would trigger the current sync. A dbt cloud API key needs to be installed in your Census organization for this to operate correctly.
project_id
- (Type: String) Project ID for the dbt cloud project.job_id
- (Type: String) dbt job ID within the project triggering current sync.enable_sync_logs
- (Optional, Type: Boolean) Indicate whether the warehouse writeback feature is enabled for this sync.service_slice_size
- (Optional, Type: Integer) Denote the size of the data chunks in which data will be uploaded to the destination. Possible values are 1
- 100,000
.destination
- (Type: Object) The destination to which the sync will upload the data.
connection_identifier
- (Type: String) Resource identifier of the sync destination.object_identifier
- (Type: String) Object identifier of the sync destination object to which the records are uploaded. Please refer to the Management API documentation on Destination Objects to find object identifiers for a given destination.lead_union_default_object
- (Type: String) Whether to upload records as a ‘Lead or Contact’ or ‘Lead or Account’ object. Only applicable if the current sync has a Salesforce destination. Possible values are converted
(Lead or Contact) or lead
(Lead or Account).file_settings
- (Optional, Type: Object) File settings of the sync destination.
file_format
- (Type: String) File format of the sync destination. Possible values are CSV
, TSV
, JSON
, NDJSON
or Parquet
.delimiter
- (Optional, Type: String) String character that delineates the records in destination.include_header
- (Optional, Type: Boolean) Indicate if the header row of the destination file should be transferred as a record.source
- (Type: Object) The data source from which records are extracted.
type
- (Type: String) Type of the data source. Possible values are table
, segment
, entity
, model
or cohort
.connection_identifier
- (Type: String) Resource identifier of the source connection.object_identifier
- (Type: String) Resource identifier of the sync source object. Required if the source type is a entity
, model
or segment
.table_catalog
- (Type: String) Sync source table catalog name. Required if the source type is a table
.table_schema
- (Type: String) Sync source table schema name. Required if the source type is a table
.table_name
- (Type: String) Sync source table name. Required if the source type is a table
.mappings
- (Type: Array)
from
- (Type: Object) The data being mapped from the source.
type
- (Type: String) Type of source data. Possible values are column
, constant
, reference
, compound
or segment-membership
.
data
- (Optional, Type: Object) Parameters of the data in the source object.
Use one of the following groups of fields
basic_type
- (Type: String) Data type of the constant. Possible values are Text
or Number
.value
- (Type: String) Value of the constant.column_name
- (Type: String) Name of the source column.subexpressions
- (Type: Array) Array of expression objects. Each element should be either a static expression
or source column
object (defined above).object_identifier
- (Type: String) Resource Identifier of source entity.referenced_column_name
- (Type: String) Column name within entity.referenced_object_identifier
- (Type: String) Identifier for object within entity.to
- (Type: Object) Mapping properties in the destination.
field_name
- (Type: String) Name of the mapped column in the destination.lookup_object
- (Optional, Type: Object) Object properties of the destination.
object_identifier
- (Type: String) Identifier for the destination object.field_to_match_by
- (Type: String) Field on the object to match a record with.field_type
- (Optional, Type: String) Data type of the mapping.follow_source_type
- (Optional, Type: Boolean) Indicate if destination should conform the mapping to the same type as the source.array_field
- (Optional, Type: Boolean) Indicate if the current field is of type array
.is_primary_identifier
- (Optional, Type: Boolean) Indicate if the mapping is the primary identifier for the records between the source & destination.generate_field
- (Optional, Type: Boolean) Indicate to Census if the mapping is a user-generated field.preserve_values
- (Optional, Type: Boolean) Indicate if mapping should overwrite existing values in the destination.operation
- (Optional, Type: String) Array operation indicating how array fields should be updated in the destination. Only applies if array_field
is set to true
. Possible values are overwrite
or merge
.sync_null_values
- (Optional, Type: Boolean, Default: true
) Indicate if null values should be included in the request payload. Read more here.advanced_configuration
- (Optional, Type: Object) Any advanced configuration that a sync requires, particularly for notification syncs.operational_settings
- (Type: Object) Other operational settings.
alerts
- (Type: Array) Alerting configuration for the sync.
type
- (Type: String) Type of alertsend_for
- (Type: String) Indicate whether you would like to be alerted the first_time or every_time the sync violates the alert condition.should_send_recovery
- (Type: Boolean) Indicate if you would like an email when the sync recovers from the alert type.options
- (Type: Object) Properties specific to the alert type. One example below, these will differ by type.
threshold
- (Optional, Type: Integer) The percentage of records that need to fail to send a record failing notification. Possible values are 0
- 100
.sync_behavior_family
- (Optional, Type: String) Provide sync behavior family, either activateEvents
or mapRecords