pipefy-members-email-webhooks
Use this skill when the user wants to manage pipe membership, send or read card inbox emails, use email templates, or manage webhooks. Covers 12 MCP tools.
How do I install this agent skill?
npx skills add https://github.com/pipefy/ai-toolkit --skill pipefy-members-email-webhooksIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides administrative tools for managing Pipefy, including member roles, email communications, and webhooks. It handles sensitive operations such as the creation of service accounts which returns secrets. The main security risk is indirect prompt injection, as the agent reads external email content that could contain malicious instructions.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
What does this agent skill do?
Members, Email & Webhooks
Manage pipe membership, send emails from card inboxes, read inbox replies, and manage webhooks. 12 MCP tools.
Member management
| Tool (MCP) | CLI | Read-only | Purpose |
|---|---|---|---|
invite_members | pipefy member invite | No | Invite one or more users by email + role. |
add_service_account_to_pipe | pipefy member add-service-account | No | Attach an existing org service account to a pipe by email + role (iPaaS setup). Verifies membership afterwards. |
remove_member_from_pipe | pipefy member remove | No | Two-step destructive.1 Verifies afterwards and warns if the member is still present (org-level permissions can override pipe removal). |
set_role | pipefy member set-role | No | Change a member's pipe role (member_id = user id). |
List existing members with get_pipe_members from skills/pipes-and-cards/pipefy-pipes-and-cards/SKILL.md. Id forms: docs/mcp/tools/identifiers.md#members-email-webhooks.
Steps — invite members
-
Check existing members:
MCP:
get_pipe_members pipe_id=67890CLI:
pipefy member list --pipe 67890 -
Invite new members:
MCP:
invite_members pipe_id=67890 members='[{"email":"alice@example.com","role_name":"member"},{"email":"bob@example.com","role_name":"admin"}]'CLI:
pipefy member invite --pipe 67890 --email alice@example.com --role memberBefore inviting external emails (domain different from the org's known domains), warn the user that this is an external invitation and confirm before proceeding.
Before granting admin role, confirm with the user — admin is the highest pipe-level role.
Steps — add a service account to a pipe (iPaaS setup)
When setting up an iPaaS (Advanced Automations) flow that runs under a service account, the account must be a member of the target pipe, or pipe-scoped calls under its identity fail with a permission error even though the flow looks configured.
-
Get the service account's email. Either create one with
create_service_account(organization_uuid, name, role)— which returns the account's email plus its OAuth2 client secret and token endpoint once (store them immediately) — or take the email from your organization's service-account settings. A freshly created account has no pipe access until this step. The pipe role defaults toadmin(a service account running automations usually needs full pipe access); pass a narrower role only when you deliberately want to limit it.One-step alternative:
create_service_account(organization_uuid, name, role, pipe_ids=[...])provisions the account and adds it to the given pipes in one call, returning apipe_membershipssummary. Use it when you already know the target pipes. -
Attach it (when not using the
pipe_idsshortcut above):MCP:
add_service_account_to_pipe pipe_id=67890 email=svc-automations@your-org.pipefy-service.com(role defaults toadmin)CLI:
pipefy member add-service-account --pipe 67890 --email svc-automations@your-org.pipefy-service.comThe MCP tool verifies membership afterwards: it returns an error if the account is not a member of the pipe once the invite is processed, so an incomplete setup is not reported as success. The CLI does not verify — it prints the raw invite result, so check
inviteMembers.errors(or runpipefy member list --pipe <id>) to confirm the account was actually added. This attaches an existing service account — create one first withcreate_service_accountif you don't have one, and delete a throwaway with two-stepdelete_service_account(echoconfirmation_token) when done. See docs/mcp/tools/service-accounts.md.
Email (card inbox)
| Tool (MCP) | CLI | Read-only | Purpose |
|---|---|---|---|
get_card_inbox_emails | pipefy email inbox list --card <id> | Yes | Read emails in a card's inbox. |
send_inbox_email | pipefy email inbox send | No | Send an email from a card inbox. |
get_email_templates | pipefy email template list --repo <id> | Yes | List templates for a pipe or table (repo_id numeric). |
send_email_with_template | pipefy email template send | No | Send using a template (email_template_id from that list). |
Templates are UI-only. Creating, editing and deleting an email template has no API, MCP or CLI path: the GraphQL schema has no template CRUD mutation. The template must already exist before a flow can send with it. When the process needs a new or changed template, put the manual Pipefy UI step in the plan you give the user instead of promising an end-to-end email flow.
Steps — send a card inbox email
-
Get the card's inbox emails (see what has been received):
MCP:
get_card_inbox_emails card_id=12345 -
Send a reply:
MCP:
send_inbox_email card_id=12345 to="customer@example.com" subject="Your request is in progress" body="Hi, we are processing your request."CLI:
pipefy email inbox send --card 12345 --to customer@example.com --subject "Your request is in progress" --body "Hi, we are processing your request." --from-email you@example.com
Webhooks
| Tool (MCP) | CLI | Read-only | Purpose |
|---|---|---|---|
get_webhooks | pipefy webhook list --pipe <id> | Yes | List all webhooks for a pipe. |
create_webhook | pipefy webhook create | No | Register a new webhook endpoint. |
update_webhook | pipefy webhook update <id> | No | Change URL, headers, or events. |
delete_webhook | pipefy webhook delete <id> | No | Two-step destructive.1 |
Steps — create a webhook
-
List existing webhooks:
MCP:
get_webhooks pipe_id=67890CLI:
pipefy webhook list --pipe 67890 -
Create the webhook:
MCP:
create_webhook pipe_id=67890 url="https://your-server.com/pipefy" actions='["card.create","card.done"]'CLI:
pipefy webhook create --pipe 67890 --url https://your-server.com/pipefy --events card.create,card.done
Success criteria
- Invited members appear in
get_pipe_members. - Sent emails show in the card's inbox thread.
- Created webhooks receive test payloads from Pipefy on the configured events.
Failure modes
invite_membersfails with "user not found": verify the email address is correct.send_inbox_emailfails: the card must have an inbox enabled in the pipe settings.- Webhook never fires: verify the pipe events match the configured
actionslist; check that the endpoint URL is publicly reachable (not localhost). delete_webhookfirst call returns preview: expected. Show the preview to the user and get their approval, then call withconfirm=trueand the preview'sconfirmation_token.
See also
skills/pipes-and-cards/— create the pipe and cards before managing membership.skills/observability/— monitor email and webhook delivery logs.- skills/ipaas/pipefy-ipaas/SKILL.md — when a flow's service account needs pipe membership.
Footnotes
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/pipefy/ai-toolkit/pipefy-members-email-webhooks">View pipefy-members-email-webhooks on skillZs</a>