Back to Docs

Census

On This Page

Census is a Reverse ETL tool that allows you to sync data from your Data Warehouse (Snowflake, BigQuery, etc.) out to other SaaS tools. We support syncing data from Census using their Webhook destination.

Setting Up Your Webhook in Variance

You need to start by setting up an Inbound Webhook in Variance. You can find that on your Integrations page. You'll click Add Connection and then give your connection a name and choose whether it will be for Accounts, Contacts, or Events.

Name your webhook and choose the type

From there you'll get a page with some options, as well as the details you'll need to put into Census.

To quickly take you through the page from top to bottom:

  • Name: whatever you're calling this connection
  • Behavior: Do you want to create new accounts or contacts if they don't exist and update existing ones (upsert), or do you just want to update?
  • Enable: toggle this on when all the data has been mapped and you're ready to go. (Once you've mapped your data, we will toggle this on for you.)
  • Webhook URL: this will be added to Census to send data to Variance
  • Authorization header value: we won't use this with Census as it's not supported
  • Enforce authorization header: you will want to toggle this off for Census.
  • Latest payload: this will show data as soon as you send some
  • Data mapping: this is where you configure the way we deal with the data (it will be disabled until you send some)

For Census to work, make sure you disable Enforce Authorization Header. Ok, so now let's go into Census.

Setting Up Your Webhook in Census

In Census go to Connections > Add Service and search for Webhook.

From here choose Webhook and you'll be asked for a Name and Webhook URL.

For Name, you can call it whatever you want that will make it easy to find again. For Webhook URL, you will want to copy the Webhook URL from your Variance inbound webhook settings. Once you do that, hit Connect.

After that it will test the connection. If you run into issues here, go back to Variance and ensure you toggled off Enforce Authorization Headers. Once you're good hit Finish.

Great. Now the Destination should be set up and we just need to configure it as part of a Sync.

  1. Go to Syncs > Create aSync
  2. For What data do you want to sync? choose the data you will be syncing to Variance
  3. For Where do you want to sync data to? choose the Webhook destination we just created and hit Continue

Now you'll have lots of options to choose from. These will really depend on how you intend to use Variance with this data, so we can't tell you exactly what to configure. If you have questions or need help, you can always reach out.

But no matter what the options are, we're going to want to start by running a test so you can configure everything in Variance. Remember: your Webhook is not currently writing data in Variance, so you don't need to worry about syncing bad data. To run a test hit Run Test on your sync in Census. This will bring up the test screen.

Configuring Field Mapping in Variance

From there we are going to hop back over to Variance, where we should now see that test data under Latest Payload.

Assuming that looks good, you'll want to hit the big Finish Setup button. This is where you are going to tell Variance how you want to associate accounts from Census with accounts in Variance, same for contacts, and events.

Account Mapping

For accounts it looks like this:

There are 4 options to configure here:

  1. Data wrapper path: you generally won't have to worry about this, but this is how we will figure out where your data is in the JSON we are sent from Census.
  2. Account ID: if you want to match Accounts using their ID, you simply have to tell us which Webhook property from Census to use for that
  3. Account Name: alternatively, if you're matching on name, you can tell us that.
  4. Custom Account matching: Finally, if you don't want to use either of those, you can match on any other property in Variance. This will only work for updates, not upserts.

If you set up both ID and name, we will try ID first and fall back to name. Once you hit Save the Webhook will be toggled on, meaning data we receive will be written to Variance.

Contact Mapping

Since mapping Contacts includes some other options, let's quickly go through those as well:

Just like Accounts, you can match on ID and custom property, but you can also match on email for contacts.

The extra complication is that for contacts you may also map them to accounts, which requires using the same fields as we would see in a regular account sync.

Event Mapping

Since Events are fundamentally different than contacts and accounts, you'll need to do a few more things to make them work properly. Here's the Event mapping config:

Let's run through the fields:

  • Event type (required): you have to give us a name to call the event. These would map to the Event Types in Variance. This is typically something like `User Created` or `Integration Connected` and the like.
  • Account ID or Contact ID: each event must have one of these. If you map it to a Contact ID, it will automatically map to the Account of that contact as well, if you map it just to the Account, it will not belong to any specific contact. The latter is useful for info that isn't specific to a user.
  • Event Timestamp: just a regular timestamp you want associated with the event. If you leave this blank it will default to when it entered Variance. We require ISO 8601 format for dates.
  • Event ID: another optional field, but it's good to include to ensure that data isn't duplicated. If you are importing data from your DB, for instance, this might be the UUID for the row.

Turning On Your Census Sync

Now that everything is configured in Variance, all that's left is to turn on your Census sync. Once you have everything set up there, you'll hit Next. This will bring up a confirmation screen where you can double check the settings and choose whether to run a sync now or not. To finalize everything hit Create Sync.

Last Updated: 
August 3, 2022