Description
n8n-nodes-infomaniak
โ ๏ธ BETA VERSION – ALL NODES IN BETA TESTING: This package and all its nodes are currently in beta testing phase. While fully functional, features and APIs may change based on user feedback. Please report any issues on GitHub.
This is an n8n community node that lets you interact with the Infomaniak API directly from your n8n workflows.
Infomaniak is a Swiss hosting provider offering cloud hosting, domain names, emails, and various digital services. This node allows you to automate tasks across their platform.
Developed by Ascenzia – Swiss digital solutions provider.
Table of Contents
- Installation
- Prerequisites
- Operations
- Credentials
- Compatibility
- Usage Examples
- Resources
- Development
- Contributing
- License
Installation
Community Nodes (Recommended)
Install directly from n8n:
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-infomaniakin the search - Click Install
Manual Installation
npm install n8n-nodes-infomaniak
For manual installation in n8n Docker setups, add to your package.json or install in the n8n custom nodes directory.
Prerequisites
- n8n instance (self-hosted or cloud)
- Infomaniak account
- Infomaniak API token (How to get one)
Operations
๐งช Beta Notice: All operations and nodes are in beta testing. Features may evolve based on user feedback.
This package provides multiple specialized nodes for different Infomaniak services:
Infomaniak Core Resources
Core API operations for account and profile management:
| Resource | Operations | Description |
|---|---|---|
| Action | Get All, Get | Retrieve actions from your Infomaniak account |
| Country | Get All, Get | Access country information and settings |
| Event | Get All, Get, Get Public Cloud Status | Monitor events and public cloud status |
| Language | Get All, Get | Access available languages |
| Product | Get All | List products in your account |
| Task | Get All, Get | Monitor asynchronous tasks |
| Timezone | Get All, Get | Access timezone information |
Profile Management
| Operation | Description |
|---|---|
| Get Profile | Retrieve user profile information |
| Update Profile | Update profile details (name, locale, timezone, etc.) |
| Upload Avatar | Upload a profile avatar image |
| Delete Avatar | Remove profile avatar |
| Get App Passwords | List application-specific passwords |
| Create App Password | Generate new application password |
| Get App Password | Retrieve specific app password details |
| Get Emails | List all email addresses |
| Get Email | Get specific email details |
| Delete Email | Remove an email address |
| Get Phones | List all phone numbers |
| Get Phone | Get specific phone details |
| Delete Phone | Remove a phone number |
User Management
Manage users, accounts, teams, and invitations:
Core Operations
- Invite User: Send invitation to join an account
- Cancel Invitation: Cancel a pending invitation
Account Operations
- List Accounts: Retrieve all accounts
- Get Account: Get specific account details
- List Users: List users in an account
Team Operations
- List Teams: Retrieve all teams in an account
- Create Team: Create a new team
- Get Team: Get team details
- Update Team: Update team information
- Delete Team: Remove a team
kSuite Management
Manage kSuite workspaces, mailboxes, and products:
Workspace Operations
- Get Workspace Users: List mailboxes in workspace
- Attach Mailbox: Add a mailbox to workspace
- Set Primary Mailbox: Set default mailbox
- Update Mailbox Password: Change mailbox password
- Unlink Mailbox: Remove mailbox from workspace
mykSuite Operations
- Get mykSuite: Retrieve specific kSuite details
- Get Current mykSuite: Get current kSuite information
Product Management
- Cancel Unsubscribe: Cancel a pending cancellation
Infomaniak kChat (Beta)
Team messaging and collaboration platform operations:
- Channels: Create, Get, Get Many, Update, Delete channels
- Posts: Create, Get, Get Many, Update, Delete posts/messages
- Users: Get, Get Many, Get By Email, Get By Username, Update users
- Teams: Create, Get, Get Many, Update, Delete teams
Infomaniak kDrive (Beta)
Cloud storage and file management operations:
- Drives: Get Many, Update drives
- Files: Search, Get Directory, Copy, Move, Rename, Delete files
- Users: Create, Get, Get Many, Update, Delete users
Infomaniak kMeet (Beta)
Video conferencing room management:
- Rooms: Create, Get, Get Many, Update, Delete meeting rooms
- Configure attendees, passwords, and meeting settings
Infomaniak Newsletter (Beta)
Email marketing and newsletter management:
- Newsletters: Create, Get, Get Many, Update, Delete newsletters
- Mailinglists: Manage mailing lists and recipients
- Statistics: Access campaign statistics and metrics
Infomaniak eTicket (Beta)
Event ticketing and management:
- Events: Create, Get, Get Many, Update, Delete events
- Products: Manage ticket products and pricing
- Orders: Track and manage ticket orders
Infomaniak URL Shortener (Beta)
URL shortening service operations:
- Create: Create shortened URLs with optional expiration
- List: List all short URLs with pagination and search
- Update: Update URL expiration dates
- Get Quota: Check your short URL quota
Infomaniak Streaming Radio (Beta)
Internet radio streaming management:
- Radio Products: Get, Get Many radio products
- Stations: Create, Get, Get Many, Update, Delete radio stations
- Streams: Manage audio streams (MP3/AAC) with bitrate configuration
- Players: Create, Get, Get Many, Update, Delete embedded players
Infomaniak Streaming Video (VOD) (Beta)
Video on demand and streaming:
- Channels: Get, Get Many, Update video channels
- Media: Get, Get Many, Update, Delete videos
- Folders: Organize video content
- Players: Manage video players
Infomaniak Public Cloud (Beta)
Infrastructure as a Service (IaaS) management:
- Compute Instances: Create, Get, Get Many, Update, Delete instances
- Volumes: Create, Get, Get Many, Update, Delete storage volumes
- Snapshots: Create, Get, Get Many, Delete snapshots
- Networks: Manage virtual networks and security groups
Infomaniak Swiss Backup (Beta)
Backup storage management:
- Swiss Backups: Get, Get Many, Update backup products
- Slots: Create, Get, Get Many, Update, Delete, Enable, Disable backup slots
- Configure FTP/SFTP access and storage allocation
Credentials
To use this node, you'll need to configure Infomaniak API credentials:
- In n8n, go to Credentials > New
- Search for Infomaniak API
- Enter your API Token
Getting an API Token
- Log in to your Infomaniak Manager
- Go to API Management section
- Click Create API Token
- Give it a descriptive name
- Select the required scopes for your use case
- Copy the generated token immediately (you won't be able to see it again)
Compatibility
- n8n version: 0.220.0 or later
- Node.js: 20.15 or later
- API Version: Supports both Infomaniak API v1 and v2 endpoints
Usage Examples
Example 1: Get Profile Information
1. Add "Infomaniak CoreResources" node
2. Select Resource: Profile
3. Select Operation: Get Profile
4. (Optional) Add additional options like "with" parameter
5. Execute the workflow
Example 2: Invite User to Account
1. Add "Infomaniak CoreResources" node
2. Select Resource: User Management
3. Select Sub-Resource: Core
4. Select Operation: Invite User
5. Fill in required fields:
- Account ID
- Email
- First Name
- Last Name
- Locale (e.g., en_GB, fr_FR)
- Role Type (0-5)
6. Execute the workflow
Example 3: List All Products
1. Add "Infomaniak CoreResources" node
2. Select Resource: Product
3. Select Operation: Get All
4. Configure pagination options
5. Execute the workflow
Resources
Development
Project Structure
The project follows a modular architecture for maintainability:
nodes/InfomaniakCoreResources/
โโโ types/ # TypeScript type definitions
โ โโโ api.types.ts # API response types
โ โโโ node.types.ts # n8n node types
โ โโโ index.ts # Type exports
โโโ utils/ # Utility functions
โ โโโ apiRequest.ts # HTTP request handling
โ โโโ constants.ts # Constants and configuration
โ โโโ transformers.ts # Data transformation utilities
โ โโโ validation.ts # Input validation functions
โ โโโ index.ts # Utility exports
โโโ resources/ # Resource handlers
โ โโโ Action.resource.ts
โ โโโ Country.resource.ts
โ โโโ Event.resource.ts
โ โโโ Language.resource.ts
โ โโโ Product.resource.ts
โ โโโ Profile.resource.ts
โ โโโ Task.resource.ts
โ โโโ Timezone.resource.ts
โ โโโ UserManagement.resource.ts
โ โโโ kSuite.resource.ts
โ โโโ index.ts
โโโ InfomaniakCoreResources.node.ts # Main node orchestrator
Build from Source
# Clone the repository
git clone https://github.com/ascenziach/n8n-nodes-infomaniak.git
cd n8n-nodes-infomaniak
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Watch mode for development
npm run dev
Available Scripts
npm run build– Build the projectnpm run dev– Watch mode for developmentnpm test– Run testsnpm run test:watch– Run tests in watch modenpm run test:coverage– Generate coverage reportnpm run lint– Check code stylenpm run lintfix– Auto-fix code style issuesnpm run format– Format code with Prettier
Architecture Highlights
Type Safety
- Comprehensive TypeScript type definitions
- No
anytypes in production code - Full IntelliSense support
Modular Design
- Each resource in separate file
- Shared utilities for common operations
- Easy to extend and maintain
Robust Validation
- RFC 5322 compliant email validation
- ID validation with type coercion
- Locale and role type validation
- Safe JSON parsing
Error Handling
- Consistent error messages
- Proper error context
- Support for
continueOnFailoption
API Version Support
- Automatic detection of API v1 vs v2
- Unified request interface
- Transparent version handling
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Guidelines
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Write tests for your changes
- Ensure all tests pass (
npm test) - Lint your code (
npm run lint) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Code Style
- Follow the existing code style
- Use TypeScript for all new code
- Add JSDoc comments for public functions
- Write tests for new features
- Keep functions small and focused
Version History
1.9.0 (Current – BETA)
- ๐ Major expansion with 9 new specialized nodes
- โจ Added Infomaniak kChat node (messaging platform)
- โจ Added Infomaniak kDrive node (cloud storage)
- โจ Added Infomaniak kMeet node (video conferencing)
- โจ Added Infomaniak Newsletter node (email marketing)
- โจ Added Infomaniak eTicket node (event ticketing)
- โจ Added Infomaniak URL Shortener node
- โจ Added Infomaniak Streaming Radio node
- โจ Added Infomaniak Streaming Video (VOD) node
- โจ Added Infomaniak Public Cloud node (IaaS)
- โจ Added Infomaniak Swiss Backup node
- ๐ก๏ธ Consistent resource-based architecture across all nodes
- ๐ Comprehensive documentation for all services
- โ ๏ธ ALL NODES IN BETA TESTING PHASE
Previous Versions
- 1.4.0 – Complete architecture refactoring, modular structure
- 1.3.0 – Added User Management operations
- 1.2.0 – Added Profile management
- 1.1.0 – Added kSuite support
- 1.0.0 – Initial release
Troubleshooting
Common Issues
Issue: Authentication failed
Solution: Verify your API token is correct and has the necessary scopes
Issue: 422 Error when inviting user
Solution: Check that all required fields are provided and in correct format (especially locale and role_type)
Issue: Module not found errors
Solution: Run npm install and ensure n8n-workflow peer dependency is available
Issue: TypeScript compilation errors
Solution: Ensure you're using TypeScript 5.8+ and Node.js 20.15+
Support
- ๐ง Email: ascenziach@users.noreply.github.com
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
Security
If you discover a security vulnerability, please email ascenziach@users.noreply.github.com instead of using the issue tracker.
License
MIT ยฉ ascenziach
Developed by Ascenzia – Swiss digital solutions provider.
Made with โค๏ธ for the n8n and Infomaniak communities
โ ๏ธ BETA TESTING NOTICE
ALL NODES ARE CURRENTLY IN BETA TESTING PHASE
This package includes 11 nodes covering various Infomaniak services. While all nodes are fully functional and tested, they are in beta phase which means:
- โ Core functionality is stable and working
- โ ๏ธ APIs and features may evolve based on user feedback
- ๐ Please report any issues on GitHub
- ๐ฌ Your feedback helps improve the nodes for everyone
- ๐ Documentation and examples are continuously being improved
We appreciate your patience and feedback as we refine these integrations!