npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@payloadcms/plugin-zapier

v0.0.9

Published

The Payload plugin for Zapier

Downloads

55

Readme

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.