Connecting Dashdash with Copper and Built With and Crunchbase

This is a little guide to show you how to connect dashdash to Copper (formerly Prosperworks) and automatically creating a new Company based on data from Crunchbase and Built With.

As not every one of you will be using Pipedrive as a CRM, I hope you find this helpful.

Let’s Start

I took the Find Companies by advanced criteria template as a starting point with one little adjustment.
Instead of adding rows to the spreadsheet, I am overwriting the existing rows every single time.

I changed the formula in E2 to:

First, for fetching the Tech Stack, I added more columns at the end and used the Built With Integration provided by Dashdash.
For that I used the following formula:

Tip: Displaying specific data from Built With:
If you want to only display the data that matches a category you’re interested in, eg. Marketing Automation, you can use the following formula:

Which would then end up looking like:

Sending data to Copper

You should get somewhat familiar with the Copper API at this point.
In this post, I’m mainly using the Companies Endpoint, you can find the API Documentation here

If you’re using custom fields in Copper, as the Marketing Stack in our case, you should also read this chapter of their API Documentation about Custom Fields.
This will get important when building your payload!

Step 1: Building your header
When sending or fetching data to/from Copper, you first of all need to build your header for authentication. The header consists of:

  --header "X-PW-AccessToken: YOUR_TOKEN_HERE" \
  --header "X-PW-Application: developer_api" \
  --header "X-PW-UserEmail: YOUR_EMAIL_HERE" \
  --header "Content-Type: application/json" \

Important: You don’t need the last line for your header in Dashdash.

I suggest you insert all the information necessary into cells and build the header via the PAIR2JSON formula.
This will look like this:

Bildschirmfoto 2020-03-20 um 17.11.53

In this case, my header is in Cell H5

Step 2: Building the payload
This step really depends on the information you want to send to Copper.

The end result in my case will look like this:
=’ {

  "name":"'&A12&'",
  "address": {
    "street": "'&K12&'",
    "city": "'&D12&'",
    "Employees": "'&M12&'",
    "state": "'&L12&'",
    "country": "'&E12&'"
  },
  "email_domain":"'&J12&'",
  "socials": [
  {
      "url": "'&N12&'",
      "category": "LinkedIn"
  }
 ],
  "tags": [],
  "websites": [
    {
      "url": "'&B12&'",
      "category": "work"
  }
  ],
  "details":"'&O12&'",
 "custom_fields": [
    {
      "custom_field_definition_id": "'&$U$10&'",
      "value": "'&U12&'",
      "custom_field_definition_id": "'&$S$10&'",
      "value": "'&S12&'"
 }
  ]
}
'

I will not get into too many details here, as this should be self-explanatory by using this screenshot.
The only thing should be aware of are Custom Fields, as you have to refer to IDs.

The easiest way is to just fetch the list of all custom fields, by sending a GET request to copper:
GET https://api.prosperworks.com/developer_api/v1/custom_field_definitions

Step 3: Sending data to Copper
This is the last step and the easiest of all. The API Endpoint for creating a company is:
POST https://api.prosperworks.com/developer_api/v1/companies

In my case this looks like this:


So my Target URL is in J1, my Header in H5 and the Payload in AD12

The only thing left then is testing and sending data to Copper :wink:

I hope you find this helpful!

5 Likes

This is amazing, @Marbusen! Thanks so much for posting :heart_eyes: :pray: