What is Chatwork? Why have this article?
” Chatwork is an all-in-one platform: chat, assign tasks, voice / video call, and file sharing.”
Since it is a common tool used to communicate with members of an organization, there will be many cases where it is necessary to integrate external services and systems into Chatwork. For example: If there is a new order in the sales system, text the employee in charge on Chatwork, if there is an issue on the project, send a message to the technical team …
Currently, Chatwork has a public api, a webhook that is quite complete to integrate with external systems. Chatwork’s public usage is also pretty straightforward. The problem is only when you have multiple systems, services need to be integrated, or you use the provided services you have very few options on.
In the case of the systems and services you own, you can integrate the Chatwork api directly, but you will have to rewrite the integration for multiple systems, not to mention that you have more than one. the “bot”. Currently there are many libraries supporting working with Chatwork api:
- PHP: laravel-chatwork , php-chatwork-api , …
- Nodejs: chatwork-api-client , chatwork-api , …
These libraries only “bundle” you with Chatwork’s public api, you still have to do most of the integration logic. Including the integration as part of the system poses some risks.
If you use a third party service, for example Github, and you want to integrate it with Chatwork. For example, Github, this service already has webhooks and api for integration, but to integrate them with Chatwork, you need to build an intermediary system to integrate Github and Chatwork. If you don’t just use a Github service, you will need more than an intermediary integration service or further complicate the integration system.
With the above problems, this article will introduce n8n and n8n-nodes-chatwork. n8n will replace the middleware integration, with independent workflows, a one-time build can integrate a lot of services.
What is n8n?
n8n (full name ” Nodemation “) is a tool that generates jobs automatically, and joins those jobs into a string, a string called workflows . Workflows can be run automatically, n8n repeating your workflows every week, every day, every hour, or based on an event you install. It will save you a lot of time.
In particular, you can manually install n8n on your server and be able to customize use on it.
What is n8n-nodes-chatwork?
Currently, n8n supports a lot of “nodes”, supporting many popular services.
Here is a list of all supported services, at the time of writing:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Active Campaign Trigger, Active Campaign Trigger, Acuity Scheduling Trigger, ActiveCampaign, Affinity, Affinity Trigger, Agile CRM, Airtable, AMQP Sender, AMQP Trigger, Asana, Asana Trigger, AWS Lambda, AWS S3, AWS SES, AWS SNS, AWS SNS Trigger, Bannerbear, Bitbucket Trigger, Bitly, Box, Box Trigger, Calendly Trigger, Chargebee, Chargebee Trigger, CircleCI, Clearbit, ClickUp, ClickUp Trigger, Clockify Trigger, Cockpit, Coda, Copper Trigger, CrateDB, Cron, Crypto, Customer.io Trigger, Date & Time, Discord, Disqus, Drift, Dropbox, Edit Image, EmailReadImap, Error Trigger, Eventbrite Trigger, Execute Command, Execute Workflow, Facebook Graph API, FileMaker, Flow, Flow Trigger, Freshdesk, FTP, Function, Function Item, GitHub, Github Trigger, GitLab, GitLab Trigger, Google Calendar, Google Drive, Google Sheets , Google Tasks, GraphQL, Gumroad Trigger, Hacker News, Harvest, HelpScout, HelpScout Trigger, HTML Extract, HTTP Request, HubSpot, HubSpot Trigger, Hunter, IF, Intercom, Interval, Invoice Ninja, Invoice Ninja Trigger, Jira Software, Jira Trigger, JotForm Trigger, Keap, Keap Trigger, link.fish Scrape, Mailchimp, Mailchimp Trigger, Mailgun, Mailjet, Mailjet Trigger, Mandrill, Mattermost, Mautic, Mautic Trigger, Medium, Merge, MessageBird, Microsoft Excel, Microsoft OneDrive, Microsoft SQL, Mocean, Monday.com, MongoDB, Move Binary Data, MSG91, MySQL, NextCloud, No Operation, do nothing, OpenWeatherMap, PagerDuty, PayPal, PayPal Trigger, Philips Hue, Pipedrive, Pipedrive Trigger, Postgres, Postmark Trigger, QuestDB, Read Binary File, Read Binary Files, Read PDF, Redis, Rename Keys, RocketChat, RSS Read, Rundeck, Salesforce, Salesmate, Segment, Send Email, Set, Shopify, Shopify Trigger, SIGNL4, Slack, sms77, Split In Batches, Spotify, Spreadsheet File, SSE Trigger, Start, Stripe Trigger, SurveyMonkey Trigger, Switch, Telegram, Telegram Trigger, Todoist, Toggl Trigger, TravisCI, Trello, Trello Trigger, Twake, Twilio, Twitter , Typeform Trigger, Uplead, Vero, Webflow Trigger, Webhook, WooCommerce, WooCommerce Trigger, WordPress, Write Binary File, Xero, XML, Zendesk, Zendesk Trigger, Zoho CRM, Zoom, Zulip |
But in this list there is no Chatwork, to integrate Chatwork into this tool, we can use the HTTP Request node to communicate with the Chatwork api. But these have many inconveniences: Having to write over and over again, manage the api key …
This is why n8n-nodes-chatwork was created, this node will make it easier to integrate with Chatwork in n8n.
n8n-nodes-chatwork is an n8n custom node, which means that this node will not be the default node when you use n8n. Currently you can only use this node if you install n8n on your server yourself.
How to install you can refer to this link: n8n-nodes-chatwork
summary
This article is only for an introduction, you can learn by yourself to install n8n and use n8n-nodes-chatwork.
I am developing n8n-nodes-chatwork in my free time, it would be fun if someone is interested in commenting and working together to improve the quality of this node.
These are the completed api:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | - `/me` - Used to access your account information - [x] `GET /me` - Get your account information - `/my` - Used to access your data on the account. - [x] `GET /my/status` - Get the number of: unread messages, unread To messages, and unfinished tasks. - [x] `GET /my/task` - Get the list of all unfinished tasks. - `/contacts` - Used to access the list of your contacts - [x] `GET /contacts` - Get the list of your contacts - `/rooms` - Used to access information such as messages, members, files, and tasks associated to a specific conversation. - [x] `GET /rooms` - Get the list of all chats on your account - [ ] `POST /rooms` - Create a new group chat - [x] `GET /rooms/{room_id}` - Get chat name, icon, and Type (my, direct, or group) - [x] `PUT /rooms/{room_id}` - Change the title and icon type of the specified chat - [ ] `DELETE /rooms/{room_id}` - Leave/Delete a group chat - [x] `GET /rooms/{room_id}/members` - Get the list of all chat members associated with the specified chat - [ ] `PUT /rooms/{room_id}/members` - Change associated members of group chat at once - [x] `GET /rooms/{room_id}/messages` - Get all messages associated with the specified chat - [x] `POST /rooms/{room_id}/messages` - Add new message to the chat - [x] `GET /rooms/{room_id}/messages/{message_id}` - Get information about the specified message - [ ] `PUT /rooms/{room_id}/messages/{message_id}` - Update the specified message - [x] `DELETE /rooms/{room_id}/messages/{message_id}` - Delete the specified message - [ ] `GET /rooms/{room_id}/tasks` - Get the list of tasks associated with the specified chat - [ ] `POST /rooms/{room_id}/tasks` - Add a new task to the chat - [ ] `GET /rooms/{room_id}/tasks/{task_id}` - Get information about the specified task - [ ] `GET /rooms/{room_id}/files` - Get the list of files associated with the specified chat - [ ] `GET /rooms/{room_id}/files/{file_id}` - Get information about the specified file - `/incoming_requests` - You can access contact approval requests you received - [ ] `GET /incoming_requests` - You can get the list of contact approval request you received - [ ] `PUT /incoming_requests/{request_id}` - You can approve a contact approval request you received - [ ] `DELETE /incoming_requests/{request_id}` - You can decline a contact approval request you received |
The source code of the project is public at the link: https://github.com/hoangsetup/n8n-nodes-chatwork
Currently, there are quite a few things to do:
The project is written in Typescript, the starting document to participate in product development can be read at this link: https://github.com/hoangsetup/n8n-nodes-chatwork/blob/master/CONTRIBUTING.md
In the following article, I will talk in more detail about how to participate in developing n8n-nodes-chatwork.
I post this article here because Viblo is a community with a large number of members using Chatwork, hoping to find users for this n8n-nodes-chatwork package.
Article posted by the same author at https://codetheworld.io/gioi-thieu-n8n-nodes-chatwork.html .