zapier-scaffold
Create Zapier integration project template
TLDR
Scaffold a new trigger, create, search, or resource
Specify a custom destination directory for the scaffolded files
Overwrite existing files when scaffolding
Exclude comments from the scaffolded files
Show extra debugging output
SYNOPSIS
zapier init [directory_name] [options]
PARAMETERS
directory_name
The name of the directory where the new Zapier application project will be created. If omitted, the command defaults to creating the project in the current working directory.
--template NAME
Specifies a starting template for the project. Common options include basic (a minimal setup) or full (a more comprehensive example with various authentication types, triggers, and actions).
--skip-install
Prevents the command from automatically running npm install (or yarn install) after scaffolding, which can be useful for faster setup or when managing dependencies manually.
--public
Scaffolds the app as a public integration, intended for general availability and use on the Zapier platform.
--private
Scaffolds the app as a private integration, typically used for internal tools or specific client needs. This is the default behavior if neither --public nor --private is specified.
--enable-testing
Configures the project with a basic testing framework setup, including sample tests to guide test-driven development practices.
--version
Displays the version of the zapier-platform-cli currently installed and being used.
--help
Displays comprehensive help information for the init command, detailing its usage and available options.
DESCRIPTION
The "zapier-scaffold" functionality refers to the project initialization capabilities provided by the zapier-platform-cli tool, primarily through the zapier init command. This command is meticulously designed to rapidly set up the foundational structure for a new Zapier integration, significantly reducing development time by generating essential files and directories. It creates a boilerplate project with predefined sections for authentication, triggers, and actions, alongside crucial configuration files such as package.json and a .zapierapprc file. This structured approach ensures consistency and adherence to Zapier's development guidelines, allowing developers to concentrate on the specific logic of their integration rather than spending time on tedious project setup. The generated project acts as a robust starting point, often including examples and placeholders that guide developers on where to integrate their custom code for connecting to external APIs and defining unique integration behaviors.
CAVEATS
The term "zapier-scaffold" is not a standalone executable command but rather describes the project initialization (scaffolding) functionality within the zapier-platform-cli, primarily accessed via the zapier init command. To utilize this functionality, the zapier-platform-cli must be installed globally on your system using npm or yarn. The generated project serves as a starting template; significant further development, including API integration, authentication setup, and logic implementation, is required to create a fully functional Zapier app. This tool strictly requires Node.js to be installed and properly configured on your system.
INSTALLATION
To gain access to the scaffolding functionality, you must first install the zapier-platform-cli globally on your system using either npm or yarn:
npm install -g zapier-platform-cli
or
yarn global add zapier-platform-cli
GENERATED PROJECT STRUCTURE
The zapier init command typically generates a well-organized project structure designed for modularity and ease of development. This structure commonly includes:
index.js: The main entry point for your Zapier app.
authentication.js: Defines how your app authenticates with external services.
triggers/: A dedicated directory for files defining new triggers (events your app can listen for and respond to).
actions/: A dedicated directory for files defining new actions (tasks your app can perform in external services).
test/: A directory intended for unit and integration tests.
package.json: The Node.js project manifest file, listing dependencies and project metadata.
.zapierapprc: A configuration file specific to the Zapier CLI.
This structured layout significantly promotes modularity, maintainability, and makes it considerably easier to manage complex integrations as your app evolves.
HISTORY
The zapier-platform-cli was developed by Zapier to empower developers and streamline the creation and management of custom integrations for their platform. In its early stages, developers often had to manually set up project structures, a process that was both time-consuming and prone to errors. The pivotal introduction of scaffolding capabilities, most notably through the zapier init command, dramatically simplified this process by providing standardized, ready-to-use templates. This evolution underscores Zapier's unwavering commitment to enabling developers to rapidly build and deploy robust integrations, significantly lowering the barrier to entry for custom app development and fostering a more efficient ecosystem.