• Pricing
  • Blog
Sign InGet Started
Help
Integrations
Custom Plugins
Advanced8 min

Custom Plugins

Build custom plugins to create reusable integrations. Package your APIs for easy use across workflows.

What is a Custom Plugin?

A plugin packages:

  • API connection details
  • Available actions
  • Authentication method
  • Input/output schemas

Once created, use like built-in plugins.

Creating a Plugin

Start New Plugin

  1. Go to Plugins > Create Plugin
  2. Enter plugin details:
    • Name
    • Description
    • Icon
    • Category

Configure Connection

Set up the base configuration:

baseUrl: https://api.example.com/v1
authentication:
  type: api_key
  header: X-API-Key

Add Actions

Define what the plugin can do:

Example: Create User

actions:
  - name: create_user
    displayName: Create User
    description: Creates a new user
    method: POST
    path: /users
    inputs:
      - name: email
        type: string
        required: true
      - name: name
        type: string
        required: true
    output:
      type: object
      properties:
        id: string
        email: string

Add Triggers (Optional)

For webhook-based triggers:

triggers:
  - name: user_created
    displayName: User Created
    description: Fires when a new user is created
    webhookPath: /webhooks/user-created

Plugin Structure

Manifest

The plugin.yaml defines everything:

name: my-service
displayName: My Service
description: Connect to My Service API
version: 1.0.0
icon: custom-icon.svg
category: productivity

connection:
  baseUrl: https://api.myservice.com
  authentication:
    type: oauth2
    authorizationUrl: https://myservice.com/oauth/authorize
    tokenUrl: https://myservice.com/oauth/token
    scopes:
      - read
      - write

actions:
  - name: get_item
    # ... action definition

triggers:
  - name: item_created
    # ... trigger definition

Actions

Each action needs:

| Field | Description | |-------|-------------| | name | Internal identifier | | displayName | Shown in UI | | description | Help text | | method | HTTP method | | path | Endpoint path | | inputs | Parameters | | output | Response schema |

Input Types

Supported input types:

  • string - Text input
  • number - Numeric
  • boolean - True/false
  • array - List of items
  • object - Nested object
  • select - Dropdown options

Testing Plugins

Test Panel

  1. Open your plugin
  2. Click Test
  3. Select an action
  4. Enter test data
  5. View response

In Workflows

Test in a real workflow:

  1. Create test workflow
  2. Add your plugin action
  3. Run with test data
  4. Verify behavior

Publishing

Private (Default)

Only visible in your workspace.

Team

Share with organization:

  1. Go to plugin settings
  2. Enable Share with team
  3. Team can now use it

Public (Marketplace)

Share with everyone:

  1. Ensure quality standards
  2. Click Publish to Marketplace
  3. Complete submission form
  4. Wait for review

See Publishing Plugins.

Advanced Features

Dynamic Inputs

Inputs that depend on other values:

inputs:
  - name: workspace
    type: select
    dynamicOptions:
      action: list_workspaces
  - name: channel
    type: select
    dependsOn: workspace
    dynamicOptions:
      action: list_channels
      params:
        workspace: "{{workspace}}"

Pagination

Handle paginated APIs:

pagination:
  type: cursor
  cursorParam: next_cursor
  cursorPath: response.next_cursor

Rate Limiting

Respect API limits:

rateLimit:
  requests: 100
  period: 60 # seconds

Best Practices

  1. Clear naming - Descriptive action names
  2. Good descriptions - Help users understand
  3. Handle errors - Define error responses
  4. Test thoroughly - All actions and edge cases
  5. Version properly - Semantic versioning

Next Steps

  • Importing APIs - Quick imports
  • Publishing Plugins - Share publicly
  • API Reference - Technical docs

Tags

integrationspluginsdevelopment

Beautiful API documentation that developers love.

Features

  • AI-Generated Docs
  • Interactive Playground
  • Auto-Sync
  • AI Chatbot
  • Breaking Changes
  • Code Samples
  • Custom Branding
  • Analytics

Compare

  • vs ReadMe
  • vs Swagger UI
  • vs Mintlify
  • vs Postman
  • vs Scalar

Ecosystem

  • Workflows
  • Forms
  • Marketplace
  • Integrations
  • MCP Servers
  • Digital Rooms
  • Product OS

Free Tools

  • JSON Formatter
  • JSON Validator
  • JWT Decoder
  • OpenAPI Validator
  • cURL → Code
  • YAML ↔ JSON
  • All free tools →

Resources

  • Free Developer Tools
  • Blog
  • Guides
  • API Glossary
  • Help Center
  • Support

© 2026 Modlific. All rights reserved.

Privacy PolicyTerms of Service
  • Pricing
  • Blog
Sign InGet Started
Help
Integrations
Custom Plugins
Advanced8 min

Custom Plugins

Build custom plugins to create reusable integrations. Package your APIs for easy use across workflows.

What is a Custom Plugin?

A plugin packages:

  • API connection details
  • Available actions
  • Authentication method
  • Input/output schemas

Once created, use like built-in plugins.

Creating a Plugin

Start New Plugin

  1. Go to Plugins > Create Plugin
  2. Enter plugin details:
    • Name
    • Description
    • Icon
    • Category

Configure Connection

Set up the base configuration:

baseUrl: https://api.example.com/v1
authentication:
  type: api_key
  header: X-API-Key

Add Actions

Define what the plugin can do:

Example: Create User

actions:
  - name: create_user
    displayName: Create User
    description: Creates a new user
    method: POST
    path: /users
    inputs:
      - name: email
        type: string
        required: true
      - name: name
        type: string
        required: true
    output:
      type: object
      properties:
        id: string
        email: string

Add Triggers (Optional)

For webhook-based triggers:

triggers:
  - name: user_created
    displayName: User Created
    description: Fires when a new user is created
    webhookPath: /webhooks/user-created

Plugin Structure

Manifest

The plugin.yaml defines everything:

name: my-service
displayName: My Service
description: Connect to My Service API
version: 1.0.0
icon: custom-icon.svg
category: productivity

connection:
  baseUrl: https://api.myservice.com
  authentication:
    type: oauth2
    authorizationUrl: https://myservice.com/oauth/authorize
    tokenUrl: https://myservice.com/oauth/token
    scopes:
      - read
      - write

actions:
  - name: get_item
    # ... action definition

triggers:
  - name: item_created
    # ... trigger definition

Actions

Each action needs:

| Field | Description | |-------|-------------| | name | Internal identifier | | displayName | Shown in UI | | description | Help text | | method | HTTP method | | path | Endpoint path | | inputs | Parameters | | output | Response schema |

Input Types

Supported input types:

  • string - Text input
  • number - Numeric
  • boolean - True/false
  • array - List of items
  • object - Nested object
  • select - Dropdown options

Testing Plugins

Test Panel

  1. Open your plugin
  2. Click Test
  3. Select an action
  4. Enter test data
  5. View response

In Workflows

Test in a real workflow:

  1. Create test workflow
  2. Add your plugin action
  3. Run with test data
  4. Verify behavior

Publishing

Private (Default)

Only visible in your workspace.

Team

Share with organization:

  1. Go to plugin settings
  2. Enable Share with team
  3. Team can now use it

Public (Marketplace)

Share with everyone:

  1. Ensure quality standards
  2. Click Publish to Marketplace
  3. Complete submission form
  4. Wait for review

See Publishing Plugins.

Advanced Features

Dynamic Inputs

Inputs that depend on other values:

inputs:
  - name: workspace
    type: select
    dynamicOptions:
      action: list_workspaces
  - name: channel
    type: select
    dependsOn: workspace
    dynamicOptions:
      action: list_channels
      params:
        workspace: "{{workspace}}"

Pagination

Handle paginated APIs:

pagination:
  type: cursor
  cursorParam: next_cursor
  cursorPath: response.next_cursor

Rate Limiting

Respect API limits:

rateLimit:
  requests: 100
  period: 60 # seconds

Best Practices

  1. Clear naming - Descriptive action names
  2. Good descriptions - Help users understand
  3. Handle errors - Define error responses
  4. Test thoroughly - All actions and edge cases
  5. Version properly - Semantic versioning

Next Steps

  • Importing APIs - Quick imports
  • Publishing Plugins - Share publicly
  • API Reference - Technical docs

Tags

integrationspluginsdevelopment

Beautiful API documentation that developers love.

Features

  • AI-Generated Docs
  • Interactive Playground
  • Auto-Sync
  • AI Chatbot
  • Breaking Changes
  • Code Samples
  • Custom Branding
  • Analytics

Compare

  • vs ReadMe
  • vs Swagger UI
  • vs Mintlify
  • vs Postman
  • vs Scalar

Ecosystem

  • Workflows
  • Forms
  • Marketplace
  • Integrations
  • MCP Servers
  • Digital Rooms
  • Product OS

Free Tools

  • JSON Formatter
  • JSON Validator
  • JWT Decoder
  • OpenAPI Validator
  • cURL → Code
  • YAML ↔ JSON
  • All free tools →

Resources

  • Free Developer Tools
  • Blog
  • Guides
  • API Glossary
  • Help Center
  • Support

© 2026 Modlific. All rights reserved.

Privacy PolicyTerms of Service