Hull changes
Hull changes

User Events Replay





Hey there!

We're really excited to be launching the long-awaited feature - User Events replay!

Although User profiles replay was always available the events were not covered. This was sufficient for basic dataflows, but more complex connectors and especially processors were often requiring cumbersome workarounds.

From now after you select some users on the users' list you can find a new entry in the User Action dropdown button.

The new feature allows selecting which event and what time period you want to replay.


This can help a lot when setting up a new integration and backfilling historical data for any events related entities in 3rd party systems.

Also, it will surely become a valuable tool when developing an event-based processor. After every code change, specific events can be replayed any number of times.

This can speed up development and allow for a quick and reliable way to validate the new logic as well as connector configuration.

If you want to learn more in this guide.

Announcing BigQuery and Snowflake Beta Programs!





Hey there! We're really excited to be launching our new Snowflake and BigQuery importer beta programs. These new connectors enable you to activate your warehouse data by importing it into Hull so that your sales and marketing teams can use this data to acquire new customers.

If you'd like to try one of these importers out, you can install it through the connector gallery. Please let us know if you run into any issues and we'd be happy to help out. And remember, if you like it, we may ask you to give us a shoutout :)

View BigQuery Documentation

View Snowflake Documentation

New Copper Connector





Hey there!

Today, we released our brand new Copper connector. Customers of Hull and Copper can now seamlessly sync data between the two tools.


What is Copper?

Copper is a fairly new CRM on the market that allows sales teams to seamlessly manage their Contacts and Opportunities straight from their Gmail inboxes. One of the things that makes Copper so special is its strong integration with Google G Suite products.

Tell me more about Hull's Copper connector.

Hull's Copper connector provides a two-way integration between Hull and Copper. For incoming Copper-to-Hull data, the connector ingests Copper Leads, People, Activities and Companies and maps them to Hull Users, Events, and Accounts, respectively.

For outgoing Hull-to-Copper data*, the connector sends Hull Users to Copper as Leads.

Once Copper data has been synced with Hull, the world is your oyster! Start building segments, syncing Copper data to your other tools (and vice versa), tracking your customer journey, and more.

What are the specific features of the Copper Connector?

Ingesting & Mapping Copper Leads & People to Hull Users

The Copper Connector allows you to fully ingest Copper Leads and People data into Hull. Any default and custom field on the Copper Lead or People object can be mapped to a corresponding Hull User field. To identify and map Leads & People, the Email Address field is by default, the unique identifier.





Ingesting & Mapping Copper Companies to Hull Accounts

Hull's Copper Connector allows you to fully ingest Copper Companies as Hull Accounts. Similar to Lead and People ingestion and mapping, any default or custom field on the Copper Account object can be mapped to a corresponding Hull Account field. The default identifier in this case is Company Domain.


Ingesting Copper Activities as Hull User Events

The Copper Connector allows you to fully ingest Copper Activities as Hull User Events, which can include emails, phone calls, meetings, demos and calendar events. Once Copper Activities have been created in Hull as User Events, they will appear in the User Timeline and can then be used to build Hull Segments and more.


Outgoing Creation of Copper Leads

Version one of Hull's Copper connector will include the outgoing creation and updating of Copper Leads. Note: Subsequent versions will include additional functionality around the other object types, People, Companies, and Activities.

For example, if a lead is created in another tool and synced with Hull, Hull's Copper connector will allow you to create that Lead in Copper.

Initial Bulk Data Ingestion & Continuous Synchronization

The Copper Connector can perform initial ingestion of Copper Lead, People, and Company data to backfill Hull Users and Accounts. Going forward, the Connector will continuously pull newly created and updated objects from Hull to keep Hull in sync with Copper.

*Version 2 of the Copper connector will include additional functionality. Reach out to us for questions or more info.

A better way to update your tools with the new Outgoing Webhooks





Hi, dear Customer! 👋

One of the great strengths of the Hull platform is it's ability to perform realtime, streaming segmentation and react on the segment changes, attribute changes, and new events to notify various destinations.

For a while we had support for updating destination tools through our custom connectors, and also the ability to emit webhooks to any destination. This worked but was pretty cumbersome, as the payload was fixed and you needed yet another intermediary layer to process the data we sent and adapt it to your needs. It also made it impossible to directly update a given service with the payload it expected.

This all changes now.

Starting Today, we're happy to announce that our Outgoing Webhooks connector that a lot of you have been using has been rewritten from the ground up, in order to address your requests and needs. This isn't just a technical rewrite, but a full rebuild that offers a huge improvement in your ability to manage customer data. Let's see what it offers:

Customizable Payloads

You asked many times for the ability to customize the data that was sent out, and we delivered on this. You can now define exactly the data format that you want to generate, using an amazingly simple transformation language called Jsonata: We encourage you to go and check it out. It's super simple to use, and allows for precise and fast building of the payloads that you need to send to external services.

To enable you to do this, we have built a completely new UI. The new UI looks a lot like the one you have been using with the Incoming Webhooks, Scheduled Calls, and Processor connectors, but instead of Javascript (which would have been rather tedious) we went a step further and exposed JSONATA as an even easier way to build your payloads.

It couldn't be easier to craft the payload you need to send


Simpler Trigger and Filters

To go with this, we completely rebuilt the settings so that it is easier to define which events should be emitted. Checkout the screenshot below, it's pretty self-explanatory:


Support for Headers

We heard a lot of requests regarding how to secure outgoing webhooks and pass custom information.

To do this, we added support for HTTP Headers.

HTTP headers are the simplest and most secure way to pass things such as a secret key that you would use to validate that data is indeed coming from us, but it's not their only use case. There are plenty of reasons why you would want to pass custom headers (including requirements to directly send data to a 3rd party service that would require them). We support this now.

We also reworked the settings for rate limiting and throttling to be more explicit.


Simplified Support for Accounts and Users, More granular configuration

To make the connector simpler to use, we have split its responsibilities across two unique connectors, Outgoing User webhooks and Outgoing Account webhooks.

The connector also only sends to one URL now, as opposed to sending the same payload to multiple URLs with the same connector. We found this was the source of hard-to-track edge cases, and made it harder to understand if one specific service had error responses. We encourage you to now have one connector per data type and per destination.

How to upgrade.

Those connectors are available in the gallery today. Since they are completely different in their usage from the legacy connector, there is no automatic upgrade path. You will need to install those connectors separately and migrate your setup. Thankfully, those new connectors are way simpler to setup, so this part should be a breeze!

Of course, we are here to help you migrate should you need to do so (we're sure you will want to!).

Note: If you're on a legacy plan, and you're concerned with the fact this will add a new connector to your plan, We have rolled out new plans with unlimited connectors! we are happy to discuss moving you to these plans - they're more advantageous on every aspect!. Don't hesitate to contact us about this!

Ingesting the Salesforce owner email in Hull





Hi there,

We have a new feature to announce on the Salesforce connector!

When you want to set-up assignment rules, one way to do so is to configure them inside your Salesforce instance. This creates a new field on each of your Contact and/or Lead called salesforce_owner_id. This id is useful inside Salesforce because it is linked to the Salesforce profile of the owner.

Let's say you want to propagate the assignment rule to another tool of your stack. Sending the salesforce_owner_id is not really relevant because it is not actionable by your third party tool since it does not know how to link it to an employee of your company. What you can send is the email of that salesforce owner because that email will allow the third party tool to identify the owner.

To achieve that before, you had to create some processor code to call the Salesforce API to fetch the owner email. We have now solved that by allowing that feature directly inside the Salesforce connector.

This Salesforce owner email is easily accessible from the attribute mapper picker like any other Salesforce field that you want to fetch on the Lead and the Contact as you can see in the following screenshot:


New Website connector





Hey there,

We have a new announcement for you! We have just released a new connector called "Website connector" which is a replacement of our former platform deployment feature with Hull.js.

Hull.js allows you to track website traffic and send this behaviour to Hull. This is a snippet of code that you used to be able to add to your website using our platform feature available from the overview page of the dashboard.

This implementation was a bit complex to access before and needed some guidance. That's why this feature is now available inside a new connector called "Website Connector". The connector is now directly accessible from the gallery and you will be more guided through the installation of that important feature also making your overall experience with Hull more consistent.

The "Website connector" settings are broken down into 3 main sections:

  • Installation:

Whitelist the domain that you want to track with Hull.js using the Whitelisted domains subsection and copy-paste the HTML tag that you need to add in the HEAD of your website code. website_connector_1.png

  • Tracking:

You can choose to track page views automatically by enabling the toggle button called Track page views events automatically


  • Scripts:

The Website connector allows you to add an external script to your website without having to deploy new code to the website. External scripts can call specific connectors which work client-side, for instance, Intercom (see documentation here)

You can also add an embedded snipped of js code using the Embedded script sub-section. website_connector_3.png

⚠️ Warning ⚠️:

If you had set-up your tracking system using Hull.js with the former implementation, no changes will be required on your end. You will just see new Website connectors added to your organizations (that will not count towards your current plan).

New Account Processor connector





Hi there,

We have some big news for you. Our new Account Processor is now up and running!

When you want to run ABM strategies, you want to define actions on the Account:

  • you want to score Accounts without having to add a score attribute on the User first and then link that attribute to the Account
  • you want to be able to define fallback strategies on the Account level. If for example, you have an attribute called industry_name that comes from both Datanyze and your CRM, you want to be able to define which source takes precedence over the other. To do so with the Account processor, you had to link the Account attribute to the corresponding Users and then write your fallback strategies on the Users. This was a pretty complex process.

No more pain on the Account now that we have released our new Account Processor!

This Processor will run based on changes on the Account level and has also a couple of enhancements:

  • first, you can whitelist the Accounts on which you want to apply your JS logic: account_filter (2).png

  • second, you can define custom variables that are directly accessible inside the code editor. You can do so by defining a variable name, for example api_key , give it a value like 25kt. The variable you defined as foowill be accessible it inside the processor via Note that these custom variables can only be defined as strings. Screenshot_2019-12-03_at_10.45.37 (1).png

Other than that, the code editor works the same way as for the former Processor. It is accessible from the Code editor button inside the Overview page of the Account Processor:


Outreach incoming events





Hey there,

We are happy to announce you a new enhancement to our Outreach connector: you can now ingest Outreach events to Hull.

When your salespeople hop on a call with leads, they want to have access to their full history with the company:

  • How they interacted with the company emails with events like message opened, message clicked,…

  • How they moved through the sales pipeline with events like prospect_stage_changed , emails_opt_out,…

Ingesting this data into Hull and sending it in your CRM can prove to be valuable information for sales to better convert. In the same way, you don't want your salespeople to send an email to a prospect who just received an email sent with Outreach.

The full list of events that we are able to ingest is the following:

  • bounced_message
  • emails_opt_out
  • inbound_message
  • message_clicked
  • message_opened
  • message_opened_sender
  • outbound_message
  • prospect_stage_changed

You can select the Outreach events you want to fetch inside the dropdown of the Events - Fetching from Outreach section of the Outreach connector section (see below):

Screenshot 2019-12-05 at 17.45.09.png

Deactivate connectors





Hey there,

We are happy to announce to you a new feature that will allow you to deactivate connectors you installed on your Hull organization.

Hull sits at the heart of dataflows setups which are often complex. These dataflows are defined by the connectors of the tools you want to connect to Hull. Before, connectors used to start to do their work as soon as a minimal configuration was done on the connectors. That did not allow the customer to make sure that his incoming and outgoing set-up was correct. The result of this was sometimes dumped data flying around which meant grueling work for you.

Sometimes it also happened that you wanted to put an integration on hold because you had some wrong data being piped into a 3rd party service. The only thing you could do is delete the connector with all the configuration settings. That meant having to re-install the connector and set-up again the settings which was cumbersome.

Those issues are now over by allowing you to pause whenever you like the connector of your choice. Note that you can still send outgoing data by performing manual batches while the connector is paused.

You can now put a connector on hold by clicking on the desactivate button under the name of the connector:


It will show you a commit message explaining what disabling a connector entails:


Once the connector is paused, the button under the name of the connector will turn like this:


And to enable it back, you will have an other commit message confirming you normal updates will be back:


Pushing events inside Salesforce as Tasks





Hey there,

Did you ever try to reduce the time between a lead sign-up and the moment when a sales reaches out to the lead? Did you ever complain about the lack of historical information a sales could have on a given prospect before hopping on a call with that lead?

Well, if you are a Salesforce user, we have found a solution for you: it is now possible to push events from Hull as Tasks directly inside Salesforce. This feature is an enhancement to the current Salesforce connector. This will allow you to make those events tied to the user appear on the Contact timeline inside Salesforce in the form of Tasks.

For instance, whenever you have a sign-up event tracked by Segment on the website, you can ping your sales directly via a Task called To reach out inside Salesforce so that they reach out to him fast. And you know how reaching out to a lead as fast as possible can drastically improve conversion rates.

Also, whenever a sales has a call with an opportunity, it is important that he knows that he performed x number of Email opened events inside your marketing automation tool and x number of Opened conversation inside Intercom. Because this will help him adapt the conversation depending on the history of the opportunity with the company.

Here is how it works:

1) Create a unique, external id field on the Task object in your Salesforce instance that we will use to store the id of the Hull Event. This will guarantee that the Hull Event and the Salesforce Task will remain in sync.

2) In the Salesforce External_id dropdown, select the name of the external_id you just created inside Salesforce.


3) Select the events you want to send inside the Task Type Mapping section you would like to send to Salesforce and the type of Task to create.

Screenshot_2019-11-28_at_09.55.42 (1).png

4) In the Task reference Mapping section, select the id of the Contact/Lead you want to map to the associated contact or lead of the Task.


5) In the Task fields mapping section, map the properties or context fields of the Hull Event to any modifiable field on the Task.


Do not forget to turn on the toggle “Push Tasks” to start pushing the Tasks.