This article will guide you through how to integrate your Zapier account with your Quoter account.

Setup Instructions

As Quoter offers Webhook support to Zapier, the setup instructions below will walk you through how to set up the Trigger portion of the Zap in Zapier which is the event that starts a Zap.

Step 1: Go to Settings > Integrations and scroll down the page to click on Zapier under Webhook:

Step 2: Name the Integration in the Label field and select the appropriate radio buttons under the Applies To section. The URL will be generated by Zapier when creating the Webhook outlined in the next steps:

Step 3: Click "Make a new Zap" from your Dashboard. When choosing a Trigger App, either search for Webhooks :

or choose Webhooks from the "Built-In Apps" section:

Step 4: Select the radio button for "Catch Hook" and click "Save+Continue":

Step 5: Skip optional "Pick off a Child Key" to get to "Test this Step" shown below which provides the URL to copy and paste into the provided URL field in Quoter:

Step 6: Now that the custom Webhook URL has been entered into Quoter, click Save Integration. Once saved you'll need to test the Webhook by generating a Quote within Quoter to ensure the requests are being sent. After the Quote has been generated, go to Settings > Integrations > Integration Requests Status to ensure the request has successfully pushed through to Zapier:

Step 7: Going back into Zapier, click on "Ok, I did this" to complete the test and establish the "Trigger":

If Successful, you'll be presented with the following screen where you'll click "Continue" to finish the set up of the "Trigger" portion of the Zap:

Step 8: Choose your "Action" App to create the connection to your desired third-party app:




Advanced Setup (OPTIONAL)

Zap’s have the ability to intercept data from Quoter and format it before publishing. Add the following code snippet to your Zap (using the Code by Zapier app) to format Line Item values (including custom fields and options), making it easier to assign to custom fields in your third-party apps:

var objects = input[''].split(/(?=base_cost)/).map(function(obj) {
    return obj.trim().split(/\n/).reduce(function(memo, line) {
        var lineTuple = line.split(/:/).map(function(item) {
            return item.trim()
        })
        memo[lineTuple[0]] = lineTuple[1]
        // Handle custom fields and options.
        if (line.split(/:/).length > 2) {
          var key = line.split(/:/)[0];
          var value = line
            .split(/:/)
            .slice(1)
            .join(':')
            .replace(/None(?![: ])/g, "''").replace(/{u(?:')/g, '{\'').replace(/ u(?:')/g, ' \'')
            .trim()
          memo[key] = eval(value);
        }
        return memo
    }, {});
});
output = { lineItems: objects }; 

An example of how the Advanced Setup will look inside Zapier:

Did this answer your question?