Actions
An action is a single operation your agent or app performs in an external app: create a contact, send a message, list invoices, update a deal. Actions are the primary way to interact with connected apps through Membrane. See Actions API Reference for the full API.
Finding Actions
Describe what you want to do and Membrane finds matching actions. You can search by intent across your workspace and connected apps.
| Way to Use | How to Find |
|---|---|
| CLI | membrane action list --connectionId <id> --intent "create a contact" |
| MCP | Use the list-actions tool with intent parameter |
| API | GET /actions?connectionId=<id>&intent=create+a+contact |
| SDK | membrane.actions.find({ connectionId: '<id>', intent: 'create a contact' }) |
| Console | Actions page — browse and search |
Running Actions
Execute an action on a connected app.
| Way to Use | How to Run |
|---|---|
| CLI | membrane action run <actionId> --connectionId <id> --input '{"email": "[email protected]"}' |
| MCP | Use the run-action tool |
| API | POST /actions/<actionId>/run?connectionId=<id> with input body |
| SDK | membrane.action('<actionId>').run({ email: '[email protected]' }, { connectionId: '<id>' }) |
| Console | Action → Run (test with sample input) |
Input is validated against the action's inputSchema. Extra properties are silently ignored.
Managing Actions
Creating
Create actions from an intent — describe what the action should do and Membrane configures it automatically.
| Way to Use | How to Create |
|---|---|
| CLI | membrane action create "create a task" --connectionId <id> |
| MCP | Use the create-action tool |
| API | POST /actions with { "intent": "create a task", "connectionId": "<id>" } |
| SDK | membrane.actions.create({ intent: 'create a task', connectionId: '<id>' }) |
| Console | Actions → Create Action |
The action enters a BUILDING state while Membrane configures it. Use --wait (CLI) or ?wait=true (API) to wait until ready.
Updating
Update an action's configuration.
| Way to Use | How to Update |
|---|---|
| API | PATCH /actions/<actionId> |
| SDK | membrane.action('<actionId>').patch({ ... }) |
| Console | Action → Edit |
Deleting
Archive an action to remove it.
| Way to Use | How to Delete |
|---|---|
| API | DELETE /actions/<actionId> |
| SDK | membrane.action('<actionId>').archive() |
| Console | Action → Archive |
Action Types
Actions map to function types that determine what happens when they run:
| Type | Description |
|---|---|
api-request-to-external-app | Make API requests with automatic authentication |
api-request-to-your-app | Make an API request to your backend |
run-javascript | Run custom JavaScript/TypeScript logic |
http-request | Make arbitrary HTTP requests |
Logging
All action runs are recorded in Action Run Logs, including input, output, duration, and errors.
Updated 2 days ago