Package Information
Documentation
n8n-nodes-ringcentral
This is an n8n community node that provides comprehensive integration with the RingCentral API. It lets you use RingCentral in your n8n workflows for SMS messaging, voice calls, fax, video meetings, team messaging, and more.
RingCentral is a leading cloud communications platform that provides voice, video, team messaging, and collaboration solutions for businesses.
n8n is a fair-code licensed workflow automation platform.
Installation
Operations
Credentials
Compatibility
Usage
Resources
Installation
Follow the installation guide in the n8n community nodes documentation.
- Go to Settings > Community Nodes.
- Select Install.
- Enter
n8n-nodes-ringcentralin Enter npm package name. - Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
- Select Install.
After installing the node, you can use it like any other node. n8n displays the node in search results in the Nodes panel.
Operations
This node supports the following RingCentral resources and operations:
Message (SMS)
- Send - Send an SMS message
- Get - Get a specific message
- Get Many - Retrieve multiple messages with filtering
- Update - Update message read status
- Delete - Delete a message
Call Log
- Get - Get a specific call log record
- Get Many - Retrieve call logs (extension or account level)
- Delete - Delete call log records
Call Queue
- Get - Get a call queue
- Get Many - List all call queues
- Get Members - Get call queue members
- Assign Members - Assign members to a call queue
Contact
- Create - Create a personal contact
- Get - Get a contact
- Get Many - List all personal contacts
- Update - Update a contact
- Delete - Delete a contact
- Search Directory - Search company directory
Extension (Users)
- Create - Create a new extension/user
- Get - Get extension details
- Get Many - List all extensions
- Update - Update extension information
- Delete - Delete an extension
Fax
- Send - Send a fax with file attachments
- Get - Get a specific fax
- Get Many - Retrieve multiple faxes
Meeting
- Create - Create a video meeting
- Get - Get meeting details
- Get Many - List all meetings
- Update - Update meeting settings
- Delete - Delete a meeting
Presence
- Get - Get presence status
- Update - Update presence status (Available, Busy, Offline)
Recording
- Get - Get recording metadata
- Get Content - Get recording content or download as binary
- Get Many - List all recordings from call log
Team Messaging
- Post Message - Post a message to a chat
- Get Chats - Retrieve all chats
- Get Chat - Get a specific chat
Webhook
- Create - Create a webhook subscription
- Get - Get webhook details
- Get Many - List all webhooks
- Update - Update webhook settings
- Delete - Delete a webhook
Analytics
- Get Aggregated Data - Get aggregated call analytics
- Get Performance Data - Get performance metrics
Credentials
This node uses OAuth 2.0 authentication. To set up credentials:
- Create a RingCentral developer account at https://developers.ringcentral.com
- Create a new app in the RingCentral Developer Portal
- Configure your app with the following:
- Application Type: Public
- Platform Type: Server/Web
- OAuth Redirect URI: Your n8n OAuth callback URL
- Permissions: Select the scopes you need (ReadAccounts, SMS, ReadMessages, etc.)
- Note your Client ID and Client Secret
- In n8n, create new RingCentral OAuth2 credentials:
- Select Production or Sandbox environment
- Enter your Client ID
- Enter your Client Secret
- Configure the Scope (space-separated)
- Connect and authorize
Required Scopes
Different resources require different scopes. Configure your RingCentral app with the appropriate permissions:
| Resource | Required Scopes |
|---|---|
| Message (SMS) | SMS, ReadMessages, EditMessages |
| Call Log | ReadCallLog |
| Call Queue | ReadAccounts |
| Contact | ReadContacts, Contacts |
| Extension | ReadAccounts, EditAccounts |
| Fax | Faxes, ReadMessages |
| Meeting | Meetings |
| Presence | ReadPresence, EditPresence |
| Recording | ReadCallRecording |
| Team Messaging | TeamMessaging, Glip |
| Webhook | SubscriptionWebhook |
| Analytics | Analytics |
Note: When using the Sandbox environment, some features may have limited functionality or test data.
Common Issues
- 403 Permission Denied: Missing required scope - check the table above
- 404 Not Found: Resource ID doesn't exist or was deleted
- 429 Rate Limited: Too many requests - node auto-retries with backoff
- Empty Dropdowns: Credentials may need reconnection
Compatibility
- Tested with n8n version 1.0.0+
- Compatible with RingCentral REST API v1.0
Usage
Sending an SMS
- Add the RingCentral node to your workflow
- Select Message (SMS) as the resource
- Select Send as the operation
- Configure:
- From Phone Number: Your RingCentral phone number
- To Phone Number(s): Recipient number(s)
- Message Text: Your message content
Creating a Meeting
- Add the RingCentral node to your workflow
- Select Meeting as the resource
- Select Create as the operation
- Configure:
- Topic: Meeting subject
- Meeting Type: Instant, Scheduled, or Recurring
- Start Time: When the meeting starts (for scheduled meetings)
- Duration: Meeting length in minutes
Getting Call Logs
- Add the RingCentral node to your workflow
- Select Call Log as the resource
- Select Get Many as the operation
- Configure filters:
- Scope: Extension or Account level
- Date Range: Filter by date
Multi-Tenancy (Dynamic Authentication)
This node supports Multi-Tenancy by allowing you to inject Access Tokens dynamically instead of using saved credentials. This is ideal for managing multiple customers in a single workflow.
- Set Authentication Mode to
Dynamic Access Token (Multi-Tenant). - Map your Access Token from an upstream node (e.g., from a database or HTTP Request).
- Select the Server Environment (Production or Sandbox).
Note: In Dynamic Mode, the node cannot refresh tokens. Your workflow must handle token refresh logic (e.g., using an HTTP Request node to
/restapi/oauth/token) before passing the valid access token to this node.
Resources
Development
To modify or extend this node:
# Install dependencies
npm install
# Build the node
npm run build
# Run n8n in development mode
npm run dev
# Lint code
npm run lint
# Format code
npm run format
Contributing
Contributions are welcome! If you'd like to add features, fix bugs, or improve documentation:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code passes linting (npm run lint) before submitting.
License
Support
For issues, questions, or contributions, please visit the GitHub repository.