transfer_workflow
Move n8n workflows between projects or assign to different owners. Transfer automation workflows to organize team access and project structures.
Instructions
Transfer an n8n workflow to a different project or owner
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| newOwnerId | No | ||
| projectId | No |
Implementation Reference
- src/index.ts:451-455 (handler)MCP server handler method for the transfer_workflow tool. Delegates to N8nClient.transferWorkflow after extracting id and transferData.private async handleTransferWorkflow(args: { id: string | number } & TransferRequest) { const { id, ...transferData } = args; const result = await this.n8nClient.transferWorkflow(id, transferData); return { content: [{ type: 'text', text: JSON.stringify(jsonSuccess(result), null, 2) }] }; }
- src/n8n-client.ts:503-506 (handler)Core N8nClient method implementing the transfer logic via PUT /workflows/{id}/transfer API call.async transferWorkflow(id: string | number, transferData: TransferRequest): Promise<TransferResponse> { const response = await this.api.put<N8nApiResponse<TransferResponse>>(`/workflows/${id}/transfer`, transferData); return response.data.data; }
- src/index.ts:192-192 (registration)Tool registration specification in the ListTools response, defining name, description, and input schema.{ name: 'transfer_workflow', description: 'Transfer an n8n workflow to a different project or owner', inputSchema: { type: 'object', properties: { id: { oneOf: [{ type: 'string' }, { type: 'number' }] }, projectId: { type: 'string' }, newOwnerId: { type: 'string' } }, required: ['id'] } },
- src/types.ts:74-77 (schema)TypeScript interface defining the TransferRequest parameters used by the tool.export interface TransferRequest { projectId?: string; newOwnerId?: string; }
- src/types.ts:79-83 (schema)TypeScript interface defining the TransferResponse returned by the tool.export interface TransferResponse { id: string | number; projectId?: string; newOwnerId?: string; }