What is Activepieces?
Activepieces connects your tools and automates the repetitive work between them: "when X happens in one tool, do Y in another." New form response → create CRM contact. New signed contract → message the team channel. It replaces Zapier or Make - without per-task pricing that punishes success.
How it works: you build flows. Every flow starts with a trigger (the event that starts it) followed by actions (what happens), optionally with branches and conditions. Connectors - called pieces - cover common apps, including much of your Brundo stack; webhooks and code steps cover the rest.
Getting started
- Log in at your company's Activepieces address with your Brundo account.
- Connect your tools first. Before building anything, set up Connections - the stored logins Activepieces uses to act in your other tools. For each tool you plan to automate: Google/Gmail means signing in and granting access; Mattermost needs your instance URL and a bot token or webhook; AI steps (e.g. OpenAI) need an API key pasted in; and your Brundo tools (Twenty, Formbricks, Plane...) each connect with an API key from their settings. Connections are stored securely, created once, and reused by every flow. You can also add them mid-build when a step prompts you - but doing the main ones upfront makes flow building much smoother.
- Create your first flow: + New flow. Pick a trigger - start simple: a Schedule trigger (e.g. every Monday 9:00).
- Add an action: e.g. send a Mattermost message ("Weekly reminder: submit timesheets"), using the connection you created in step 2.
- Test it: every step has a Test button showing real sample data. Test each step before publishing.
- Publish. The flow now runs on its own. Congratulations - you've automated your first chore.
Where do API keys come from? Usually the target tool's settings, under "API" or "Integrations". If you can't find one, ask Brundo - we'll generate the keys for your stack tools and help you add the connections.
Core concepts
Triggers
What starts a flow: a schedule, a webhook, or an event in an app (new form response, new email, new record).
Actions & data mapping
Each action can use data from previous steps - the form respondent's email becomes the CRM contact's email. You map fields by picking from the sample data of earlier steps.
Branches & conditions
"If the deal value is over €10k, also notify the director." Branching keeps one flow handling multiple cases.
Runs & history
Every execution is logged with each step's input and output. When something misbehaves, the run history is where you look.
Recipes for your Brundo stack
Form lead → CRM + team alert
- Trigger: Formbricks - new response on your contact form.
- Action: Twenty CRM - create person (map name, email, message into fields).
- Action: Mattermost - post to the sales channel: "New lead: {name} - {message}".
Signed contract → team notification + task
- Trigger: DocuSeal - submission completed (webhook).
- Action: Mattermost - announce in the projects channel.
- Action: Plane - create an onboarding issue for the new client.
Daily digest
- Trigger: Schedule - weekdays 08:30.
- Actions: pull yesterday's new CRM leads and open support conversations.
- Action: post a short digest to the management channel.
Tips & good habits
- Automate what you already do manually and understand well - don't automate a process you haven't stabilised.
- Name flows descriptively: "Formbricks lead → Twenty + Mattermost", future-you will thank you.
- One flow, one job. Two small flows beat one tangled one.
- Add a failure notification (Activepieces can alert you when a run errors) so silent breakage doesn't cost you leads.
- Check run history after any connected app changes - renamed form fields are the classic silent breaker.
Troubleshooting & FAQ
My flow didn't run. Check it's published (not draft), then check the run history for errors, then re-test the trigger. Connection tokens occasionally need refreshing.
The app I need has no piece. If it has an API, the HTTP/webhook steps can talk to it - ask Brundo, this is usually a 30-minute job for us.
Can flows run on a schedule rather than an event? Yes - the Schedule trigger does cron-style timing (hourly, daily, specific days).
Is there a run limit? On your own instance there's no artificial per-task pricing. Extremely high volumes are an infrastructure question - talk to Brundo.
Useful resources
Curated for the version Brundo hosts (community / self-hosted editions) — cloud-only or enterprise-only material is skipped.
- Official documentation — Getting started, flow building, connections and self-hosted notes.
- Pieces catalogue — Browse every available connector and what triggers/actions it offers.
- Community forum — Tutorials, templates, help and feature requests.
- GitHub project — Source and release notes for the open-source core we host.
