home / skills / willsigmon / sigstack / activepieces-expert

This skill helps you automate workflows with Activepieces, offering self-hosted, open-source integration flows and TypeScript customization.

npx playbooks add skill willsigmon/sigstack --skill activepieces-expert

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.8 KB
---
name: Activepieces Expert
description: Activepieces - open source automation, Zapier alternative, self-hosted workflows
allowed-tools: Read, Edit, Bash, WebFetch
model: sonnet
---

# Activepieces Expert

Open source automation alternative to Zapier.

## Why Activepieces?

- **100% Open Source**: Self-host for free
- **Visual Builder**: No-code flow creation
- **200+ Integrations**: Growing piece library
- **Code Pieces**: Write custom TypeScript
- **Fair Pricing**: Much cheaper than Zapier

## Pricing (2026)

- **Self-hosted**: Free forever
- **Cloud Free**: 1,000 tasks/month
- **Cloud Pro**: $29/month - 10K tasks
- **Enterprise**: Custom

## Self-Hosted Setup

### Docker Compose
```yaml
version: '3.8'
services:
  activepieces:
    image: activepieces/activepieces:latest
    ports:
      - "8080:80"
    environment:
      - AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
      - AP_ENCRYPTION_KEY=your-32-char-key-here-1234567890
      - AP_JWT_SECRET=your-jwt-secret-here
      - AP_POSTGRES_DATABASE=activepieces
      - AP_POSTGRES_HOST=postgres
      - AP_POSTGRES_PASSWORD=activepieces
      - AP_POSTGRES_PORT=5432
      - AP_POSTGRES_USERNAME=activepieces
      - AP_REDIS_HOST=redis
      - AP_REDIS_PORT=6379
    depends_on:
      - postgres
      - redis

  postgres:
    image: postgres:15
    environment:
      - POSTGRES_DB=activepieces
      - POSTGRES_PASSWORD=activepieces
      - POSTGRES_USER=activepieces
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:7
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:
```

### Run
```bash
docker-compose up -d
# Access at http://localhost:8080
```

## Built-in Pieces

Popular integrations:
- Slack, Discord, Email
- Google Sheets, Airtable
- GitHub, GitLab
- Stripe, Shopify
- OpenAI, Claude
- HTTP/Webhooks

## Creating Flows

### Example: GitHub → Slack
```
Trigger: New GitHub Issue
Action: Send Slack Message
  Channel: #issues
  Message: "New issue: {{trigger.title}}"
```

### Example: Form → Email + Sheet
```
Trigger: Webhook (form submission)
Action 1: Add Row to Google Sheets
Action 2: Send Email Confirmation
```

## Custom Code Piece

### TypeScript Piece
```typescript
// pieces/my-custom-piece/src/index.ts
import { createPiece } from '@activepieces/pieces-framework';
import { myAction } from './actions/my-action';
import { myTrigger } from './triggers/my-trigger';

export const myCustomPiece = createPiece({
  displayName: 'My Custom Piece',
  logoUrl: 'https://example.com/logo.png',
  authors: ['wsig'],
  actions: [myAction],
  triggers: [myTrigger],
});
```

### Action Definition
```typescript
// actions/my-action.ts
import { createAction, Property } from '@activepieces/pieces-framework';

export const myAction = createAction({
  name: 'my_action',
  displayName: 'My Action',
  description: 'Does something cool',
  props: {
    inputText: Property.ShortText({
      displayName: 'Input',
      required: true,
    }),
  },
  async run(context) {
    const { inputText } = context.propsValue;
    // Your logic here
    return { result: `Processed: ${inputText}` };
  },
});
```

## API Access

### Execute Flow via API
```bash
curl -X POST "https://your-activepieces.com/api/v1/webhooks/{webhook-id}" \
  -H "Content-Type: application/json" \
  -d '{"name": "Test", "email": "[email protected]"}'
```

## vs Alternatives

| Feature | Activepieces | n8n | Zapier |
|---------|--------------|-----|--------|
| Open Source | ✅ | ✅ | ❌ |
| Self-hosted | ✅ | ✅ | ❌ |
| Visual Builder | ✅ | ✅ | ✅ |
| Code Actions | ✅ | ✅ | Limited |
| Free Tasks | 1,000/mo | 5,000/mo | 100/mo |
| Pricing | $29/mo | Free | $19/mo |

## Best For

- Self-hosted automation
- Simple integrations
- Growing teams
- Cost-conscious projects

Use when: Zapier alternative, self-hosted automation, simple workflows

Overview

This skill helps you design, deploy, and extend Activepieces—an open-source, self-hosted automation platform and Zapier alternative. It guides setup (including Docker Compose), common integrations, TypeScript custom pieces, and API execution so you can run reliable workflows on your own infrastructure. The content focuses on practical steps, cost comparisons, and integration patterns for teams and projects.

How this skill works

The skill inspects common deployment needs (Docker, Postgres, Redis) and explains configuration environment variables required for a self-hosted Activepieces instance. It describes building flows with built-in pieces, creating custom TypeScript pieces and actions, and invoking workflows via webhooks or the API. It also summarizes pricing tiers and trade-offs versus alternatives.

When to use it

  • You need self-hosted automation to retain data control and reduce costs.
  • You want a visual no-code builder with the option to add TypeScript code pieces.
  • You need integrations like Slack, Google Sheets, GitHub, Stripe, or OpenAI/Claude.
  • You’re evaluating alternatives to Zapier or n8n for teams and infrastructure.
  • You want a reproducible Docker Compose deployment for production or staging.

Best practices

  • Use Docker Compose with dedicated Postgres and Redis volumes for reliable persistence.
  • Set strong secrets: AP_ENCRYPTION_KEY and AP_JWT_SECRET should be secure, 32+ chars for encryption keys.
  • Build reusable custom pieces in TypeScript for company-specific logic and publish them to your instance.
  • Test flows with webhook payload samples before routing production traffic.
  • Monitor tasks and scale the instance (resources, DB tuning) as task volume grows.

Example use cases

  • New GitHub issue triggers a Slack message to an #issues channel with templated fields.
  • Form submissions sent to a webhook append a Google Sheet row and send an email confirmation.
  • E-commerce: new Stripe charge triggers order creation in a CRM and a Slack alert to ops.
  • Custom piece: call an internal API with enriched payload, process response, and route results to multiple services.
  • Batch automation: scheduled flow runs fetch data, transform it with TypeScript code, and update a database.

FAQ

Can I run Activepieces for free?

Yes—self-hosted deployments are free. The cloud tier offers a free plan with 1,000 tasks/month; paid plans increase task quotas.

How do I add a custom action in TypeScript?

Create a piece using the pieces framework, define actions with createAction and properties, implement run(context) to process props and return results, then register the piece in your instance.