Scaffold a new Flowlib provider action from scratch. Use when: creating a new defineAction, adding a new tool/node to a provider, implementing a new API integration action, scaffolding OAuth2 actions, adding actions to existing providers.
Scaffold a new Flowlib provider action from scratch. Use when: creating a new defineAction, adding a new tool/node to a provider, implementing a new API integration action, scaffolding OAuth2 actions, adding actions to existing providers.
argument-hint
Provider name and action (e.g. 'stripe create_charge')
Create Action
Scaffold a complete Flowlib provider action using the defineAction() pattern. The resulting action auto-registers as both a flow node and an agent tool.
When to Use
Adding a new action to an existing provider (e.g., gmail.search_messages)
Creating an entirely new provider with its first actions
Implementing an API integration action with OAuth2 credentials
Adding a utility action to the core provider
Procedure
1. Determine Provider
Check if the provider already exists in pkg/core/src/actions/providers.ts.
Existing provider: Use the existing ProviderDef constant
New provider: Create a new ProviderDef in providers.ts following the provider template
2. Create the Action File
Create pkg/core/src/actions/<provider>/<action-name>.ts using the appropriate template from action templates.
Choose the right template based on the action type:
API Read (GET/list): For fetching data from external APIs
API Write (POST/PUT/DELETE): For creating/updating/deleting via external APIs
Core Utility: For data transformation, logic, or internal operations
Trigger: For flow entry-point nodes
3. Register the Action
Export the action from the provider barrel pkg/core/src/actions/<provider>/index.ts
Add to the provider's [provider]Actions array in the same barrel
If new provider: add the barrel import + spread to allBuiltinActions in pkg/core/src/actions/index.ts