Sha256: ca84a9958e8720991326575c4d8c00b710d5ffc9e355a87e0b7e5d2a9cfb6679

Contents?: true

Size: 1.85 KB

Versions: 3

Compression:

Stored size: 1.85 KB

Contents

# Integrating with Zapier
Bullet Train provides out-of-the-box support for Zapier. New Bullet Train projects include a preconfigured Zapier CLI project that is ready to `zapier deploy`.

## Background
Zapier was designed to take advantage of an application's existing [REST API](/docs/api.md), [outgoing webhook capabilities](/docs/webhooks/outgoing.md), and OAuth2 authorization workflows. Thankfully for us, Bullet Train provides the first two and pre-configures Doorkeeper to provide the latter. We also have an smooth OAuth2 connection workflow that accounts for the mismatch between the user-based OAuth2 standard and team-based multitenancy.

## Prerequitesites
 - You must be developing in an environment with [tunneling enabled](/docs/tunneling.md).

## Getting Started in Development
First, install the Zapier CLI tooling and deploy:

```
cd zapier
yarn install
zapier login
zapier register
zapier push
```

Once the application is registered in your account, you can re-run seeds in your development environment and it will create a `Platform::Application` record for Zapier:

```
cd ..
rake db:seed
```

When you do this for the first time, it will output some credentials for you to go back and configure for the Zapier application, like so:

```
cd zapier
zapier env:set 1.0.0 \
  BASE_URL=https://andrewculver.ngrok.io \
  CLIENT_ID=... \
  CLIENT_SECRET=...
cd ..
```

You're done and can now test creating Zaps that react to example objects being created or create example objects based on other triggers.

## Deploying in Production
We haven't figured out a good suggested process for breaking out development and production versions of the Zapier application yet, but we'll update this section when we have.

## Future Plans
 - Extend Super Scaffolding to automatically add new resources to the Zapier CLI project. For now you have to extend the Zapier CLI definitions manually.

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
bullet_train-1.2.7 docs/zapier.md
bullet_train-1.2.6 docs/zapier.md
bullet_train-api-1.2.5 docs/zapier.md