• Log in
  • Sign up
  • Contact Us

Discuss your project  
Blog • Webhooks | Products | Integrations

Sync catalog to Algolia using Moltin webhooks

Last updated: 05 Jul 2019

 

In this example we will clone and configure the repository containing the code necessary to sync data between Moltin and Algolia using Moltin webhooks.

Running locally

When using this example locally, it's recommended you use a service ngrok to tunnel your dev environment to the outside world.

Once you have the repo running locally, you'll want to add the integration via the Moltin Dashboard. The URL will be the one provided by ngrok.

1. Download the example

Clone the repository:

git clone git@github.com:moltin/integration-examples.git

Install the dependencies with Yarn

cd integration-examples/sync-catalog-to-algolia
yarn

2. Configure Algolia

In this example we will sync data to Algolia. Once you've signed up to Algolia, you'll need to create a new app and give it a name.

Next head to the API keys section and make a note of your Application ID and Admin API Key, we will need these next.

3. Configure your ENV variables

You will want to create an .env inside the directory /short-order-id containing all the keys for the below:

MOLTIN_CLIENT_ID=
MOLTIN_CLIENT_SECRET=
MOLTIN_WEBHOOK_SECRET=

MOLTIN_WEBHOOK_SECRET can be anything you want.

4. Start the server and ngrok

Start the development server

yarn dev

The server will typically start on PORT 3000. If not, make a note for the next step.

Start ngrok

ngrok http 3000

This will expose PORT 3000 to the outside world. Make a note of the URL ngrok provides.

5. Create a new Moltin integration

You must now tell Moltin the ngrok URL above. From within the Moltin Dashboard, head to Settings > Integrations and click Create.

Enter a name and description for your integration. It might be useful to prefix the name with DEVELOPMENT for easier referencing.

Next, enter the ngrok URL and Secret Key that matches that inside .env

52846929-ca957980-3102-11e9-9a20-23b8139767ee

Now you'll want to configure this webhook to invoke your serverless function when any of the catalog resources are created, updated or deleted.

52856400-33d5b680-311c-11e9-9a08-684b6edf5d4d

That's it! Click Save 🎉

Further reading