6 Replies Latest reply on May 5, 2016 7:03 AM by JDymon

    Using Goldmine & Smartsheet

    dariobavicchi1 Apprentice

      In our company we are planning to use Smartsheet to manage team tasks and projects: do you know if exist add-ons or other ways to make them working together?

        • 1. Re: Using Goldmine & Smartsheet
          JDymon Apprentice

          Yes using Smartsheet Integrations - Zapbook - Zapier

          If you'd like to discuss please contact us at First Direct Corp. www.1stdirect.com

          • 2. Re: Using Goldmine & Smartsheet
            JDymon Apprentice

            You can also create GM+Views that lets you view/see your Smartsheets in GoldMine.

            • 3. Re: Using Goldmine & Smartsheet
              dariobavicchi1 Apprentice

              Thanks for reply

              We are still studing Smartsheet software and one of the key points is the potential data exchange with Goldmine

              I will check Zapbook too, but we are using only Goldmine desktop and not the web; i don't know if this can be a problem...

              • 4. Re: Using Goldmine & Smartsheet
                JDymon Apprentice

                You can send data out of the desktop version of Goldmine in several ways. Webhook Taskbar menu item, or via a custom web application running in IIS or Apache on your GM server/desktop from within the GM+Views tab.


                you can get data into goldmine via webimport and/or XML/SOAP

                • 5. Re: Using Goldmine & Smartsheet
                  mozzer888 Rookie

                  Hi - can you explain what you mean by "Webhook Taskbar menu item"?

                  Thanks - Robert.

                  • 6. Re: Using Goldmine & Smartsheet
                    JDymon Apprentice

                    What is a Webhook?

                    A webhook is an API concept that’s growing in huge popularity. As more and more of what we do on the web can be described by events, webhooks are becoming even more applicable. They’re incredibly useful and a resource-light way to implement event reactions. So, what exactly is a webhook? A webhook (also called a web callback or HTTP push API) is a way for an app to provide other applications with real-time information. A webhook delivers data to other applications as it happens, meaning you get data immediately. Unlike typical APIs where you would need to poll for data very frequently in order to get it real-time. This makes webhooks much more efficient for both provider and consumer. The only drawback to webhooks is the difficulty of initially setting them up. Webhooks are sometimes referred to as “Reverse APIs,” as they give you what amounts to an API spec, and you must design an API for the webhook to use. The webhook will make an HTTP request to your app (typically a POST), and you will then be charged with interpreting it and doing with it what ever you want. Create, Read, Update, Delete entries in a database, send emails, send sms text messages, what ever you want.


                    Consuming a Webhook

                    The first step in consuming a webhook is giving the webhook provider a URL to deliver requests to. This is most often done through a backend panel or an API. This means that you also need to set up a URL in your app that’s accessible from the public web.

                    The majority of webhooks will POST data to you in one of two ways: as JSON (Javascript Object Notation - typically) or XML (blech) to be interpreted, or as a form data (application/x-www-form-urlencoded or multipart/form-data). Your provider will tell you how they deliver it (or even give you a choice in the matter). Both of these are fairly easy to interpret, and most web frameworks will do the work for you. If they don’t, you may need to call on a function or two.


                    Debugging a Webhook

                    Debugging a webhook can be complex at times, as webhooks are principally asynchronous. Thus, you must trigger them and wait, then check the response. This can be tiresome and is fairly inefficient. Luckily there are better ways!

                    1. Understand what the webhook provides, by using a tool like RequestBin to collect the webhook’s requests.
                    2. Mock the requests using a tool like cURL or Postman.
                    3. Test the code on your machine by using a tool like ngrok.
                    4. Watch the whole flow using a tool like Runscope.

                    Securing a Webhook

                    As webhooks deliver data to publicly available URLs in your app, there’s the chance that someone else could find that URL and then provide you with false data. To prevent this from happening, you can employee a number of techniques. The easiest thing to do (and what you should implement before going any further) is to force TLS connections (https). Once you’ve implemented that, you may go forward and further secure your connection:

                    1. The first, and most supported, way to secure a webhook is to add tokens to the URL that act as unique identification e.g.?auth=TK
                    • The next option is to implement Basic Auth, this is also widely supported, and very easy to do.
                    • The first two solutions work great to prevent most attacks, however they have the disadvantage of sending the auth token with the request. The third option is to have the provider sign each request it makes to you and then verifying the signature. This has the disadvantage of requiring the provider to have implemented request signing—meaning if they don’t already, you’re probably out of luck.

                    Important Gotchas

                    • Webhooks can make a lot of requests. If your provider has a lot of events to tell you about, they may end up DDoSing your app. Make sure your application can handle the expected scale of your webhook. There is another tool, Loader.io, to help with that.

                    Get Your Feet Wet

                    The best way to truly understand a webhook is to try one. Luckily, hundreds of services and web applications use webhooks so you can easily play with them to your heart’s content.