0.0.9 • Published 2 years ago

@payloadcms/plugin-zapier v0.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Payload Zapier Plugin

This plugin can be added to a Payload project to make it simple to send Zaps to a zapier webhook address when collection data changes. It is designed to be flexible and generic to allow for all use-cases to manage zaps.

How it works

When a collection is created/updated/deleted, the plugin will send a Zap to the webhook address. The Zap will contain the collection name, the operation (create/update/delete), and the data related to the document.

We recommend starting with the Zapier Paths + Webhooks template to get started. See here. Using Paths, will allow you to handle many different types of data and operations coming from Payload.

Requirements

  • A Zapier account with 1 webhook configured. More
  • A Payload project

Plugin Config Example

/* file: payload.config.ts */

import { buildConfig } from 'payload/config'
import path from 'path'
import Users from './collections/Users'
import { zapierPlugin } from '@payloadcms/plugin-zapier'

export default buildConfig({
  // ...rest of your config goes here
  plugins: [
    zapierPlugin({
      collections: ['posts'],
      webhookURL: 'https://hooks.zapier.com/hooks/catch/123456/abcdef/',
      enabled: async req => {
        // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        // `enabled` can be a boolean OR a function that returns a boolean.
        //
        // if it is a function, it will be passed the following arguments:
        //  - all arguments from the hook that triggered the Zap
        //  - operation (create/update/delete)
        // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
        return req.user.role === 'admin'
      },
    }),
  ],
})

This plugin is configurable to work across many different Payload collections. A * denotes that the property is required. Types file. | Option | Description | | ----------------------------- | ----------- | | collections* | Array of collection slugs that will send data to Zapier. ["*"] can be used to zap every collection. | | webhookURL* | Zapier webhook URL to send events to. | | enabled | Function or boolean value that is checked before a Zap is sent. |

Features

Send Zaps Allows for events to be sent to Zapier when a specified collection is updated or deleted.

Webhook Data

The data sent to the Zapier webhook URL will include:

  1. The collection slug that triggered the zap.
  2. The operation used, one of: 'create', 'update', or 'delete'.
  3. The data object, which is the Payload document that was created, updated, or deleted.
0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago