← back to Webhooks

Getting Started With Rails 4

Learn how to create a webhook endpoint using Rails 4 to process webhook events.

Introduction

You want to start using webhooks and we want to make getting started easier! So here’s a real-world example that walks you through the steps needed to see webhooks in action with your data. For someone with programming experience, it should be quick to set up.

Prerequisites

This guide assumes you have:

The Plan

Here’s an overview of the steps we’ll be working through.

  • Deploy a simple Rails 4 application to Heroku.
  • Create a webhook in Fulcrum to use this application.
  • Create an app with data in Fulcrum.
  • Check that we see those event requests in the Rails 4 application.

Deploy a Simple Rails 4 Application to Heroku

About Heroku

Heroku is a platform for hosting applications in the cloud. They’re well-known and have good guides for new users. It’s possible to deploy a small application to Heroku for free. That’s what we’re working toward.

First, you’ll need a Heroku account.

  1. Follow the steps in their quick start guide to create an account , install the Heroku tool belt, and log in to your account using the toolbelt.

Deploy the Application

In the course of building the webhooks functionality, we created an application for testing. It’s called fulcrum-webhook-sample-rails4. The application receives HTTP POST requests and writes the contents to its database. It’s the application we’ll set up as a webhook endpoint.

In your terminal:

  1. Navigate to a directory where you want to keep the source code.
  2. git clone https://github.com/spatialnetworks/fulcrum-webhook-sample-rails4.git
  3. cd fulcrum-webhook-sample-rails4
  4. heroku create
  5. ruby -e "require 'securerandom'; puts SecureRandom.hex(128);"
    • Use the string output from this command in the next command.
  6. heroku config:set SECRET_TOKEN=<string from previous command output>
  7. git push heroku master
  8. heroku domains
    • Remember the output from here since it will be the URL of the webhook we create next.
  9. heroku run rake db:migrate

Screenshot 1 of 2 for deploying application. Screenshot 1 of 2 for deploying application.

Test the Application

In your terminal:

  1. heroku open

This will open the site in your browser. The page should say Listing Webhook Event Requests.

Screenshot 1 of 1 for testing application.

Create a Webhook in Fulcrum to use this Application

In your browser:

  1. Log into your account on Fulcrum.
  2. Click the cog in the upper right of the page.
  3. Click Settings.
  4. If you were in another organization, on the left menu, click the name of the organization you’re interested in.
  5. Click API Webhooks in the list of links for that org’s settings.
  6. Click Add Webhook.
  7. Enter Rails 4 Sample Endpoint as the webhook’s name.
  8. Enter your heroku application’s URL as the webhook’s URL.
    • This is the output from the heroku domains command above.
  9. Click Save Webhook.

Screenshot 1 of 2 for creating webhook. Screenshot 1 of 2 for creating webhook.

Create an App with Data in Fulcrum

Now that the webhook has been created, we can start using it.

  1. Click on the Fulcrum logo in the top left.
  2. Click the organization context drop down at the top right.
  3. Make sure you’re in the right organization.
  4. Click New App.
  5. Click Design a new app.
  6. Drag a Text field into the Field Settings area.
  7. Give it the label Name.
  8. Name the app Webhook Test.
  9. Click Save and Exit.
  10. Click the Webhook Test app in the list of your apps.
  11. Click the green + sign to create a new record.
  12. Click anywhere on the map to give the record a location.
  13. Enter First Record as the Name for this record.
  14. Click Save.

Screenshot 1 of 6 for using the webhook. Screenshot 2 of 6 for using the webhook. Screenshot 3 of 6 for using the webhook. Screenshot 4 of 6 for using the webhook. Screenshot 5 of 6 for using the webhook. Screenshot 6 of 6 for using the webhook.

You’ve created a new app and record within Fulcrum. Since we have an active webhook within our organization, an event is created for both the form and record we made. Each event generates requests for each of the webhooks in our org. Since we only have one webhook now, one request is made for the form and one for the record. Those requests are made to the webhook’s URL automatically. So now, we should expect that our Rails 4 app has received the requests. And we can check that next.

Check that We See those Event Requests in the Rails 4 Application

Now, let’s check out the application on Heroku to make sure it received the webhook events requests.

In the terminal:

  1. Navigate back to the fulcrum-webhook-sample-rails4 folder, if necessary.
  2. heroku open
  3. In the web page that opens, we should see the contents of two requests.
  4. The first will be the event request data for the form create.
  5. The second will be the event request data for the record create.

Screenshot 1 of 2 for reading application logs. Screenshot 2 of 2 for reading application logs.

Conclusion

We’ve successfully set up the webhook endpoint, created the webhook in Fulcrum, and seen that they are connected.

Give yourself a pat on the back!

Next Step

Now, you can check out the Webhooks Developer Documentation and begin building more sophisticated applications to extend Fulcrum!

Still have questions? Browse our support forum and drop us a line.

Go to support