This guide explains how to use the Dify to send HTTP requests directly to the Kommo CRM , automatically updating information on leads or contacts through the widget ByteGPT.
🔧 Prerequisites
- widget ByteGPT active in Kommo CRM;
- Dify application configured correctly.
🚀 Step by Step for Integration
1. Access the Widget ByteGPT No. Kommo
- Get in on Kommo CRM, go to Settings > Integrations > ByteGPT;
- click on the tab “Active Fields”;
- In this tab, you will have access to:
- URLs of the Webhooks (EndPoints) available (for updating leads, contacts, pausing, etc.);
- You will find a list of different webhooks or endpoints available, such as UPDATE, UPDATE STATUS_ID, and PAUSE. Copy the specific webhook you want to use and save it to paste later into the HTTP request URL field in Dify.
- IDs of active custom fields in your account Kommo.
- Active fields of the ByteGPT in the current installation;
- Custom Lead and Contact fields;
- Lead Sales Pipeline Ids;
- Steps of each Lead stage in Kommo.
- URLs of the Webhooks (EndPoints) available (for updating leads, contacts, pausing, etc.);
Account Field Mapping Kommo:
2. Configure the HTTP Request Block in Dify
In the HTTP block of your Dify flow, configure it as follows:
- HTTP method:
GET
- URL: Paste the copied webhook URL here.
- Headers: Leave empty.
- Parameters: Fill in the keys and values as instructed below.
- Body: Select
none
.
Example:

📝 Request Parameters
Mandatory:
Key | Price | Overview |
---|---|---|
entity | leads ou contacts | Entity to be updated |
entity_id | {{sys.user_id}} | Lead or Contact ID |
field[ID] | valor ou {{variável Dify}} | At least 1 field to update |
Practical example:
Imagine a user wants to automate updating lead information in the Kommo CRM, using Dify and the widget ByteGPT. Specifically, he needs to set up a flow in Dify to:
- Update a custom field: The field with the ID
1567115
(which could be found in the “Active Fields” tab) must receive the result generated by an LLM, obtained through a variable aggregator in Dify, becomingfield[1567115]
and the respective value of the LLM variable, from Dify. - Change pipeline stage (status): The pipeline stage, identified by the
field[status_id]
and the value73814828
, which represents “Won Sale”, must be updated.
To do this, the user will configure an “HTTP Request” block in Dify, using the parameters shown in the image and Dify’s dynamic variables to insert the necessary data.
✅ Execution and Validation
When executing this block in Dify, the system automatically sends an HTTP request to the Kommo via ByteGPT, updating the specified fields immediately.
💡 Additional Tips
- You can update other native fields directly using the field name as a parameter:
field[name]
: Name of lead or contactfield[status_id]
: Step ID (status) in the Pipeline (funnel)field[pipeline_id]
: Pipeline IDfield[price]
: Monetary valuefield[responsible_user_id]
: ID of the user responsible in Kommo
- Use Dify variables to automatically populate values with dynamic responses from your assistant.
- Check the correct IDs of your account's custom fields in the tab Active Fields from the widget ByteGPT.
- This automation guarantees efficiency and agility in real-time updates to your CRM.
- You can trigger a Salesbot automatically when a specific field is updated, using the Salesbot trigger. Kommo that triggers flows based on the change of this field.
🔎 Comparison Chart: Webhook ByteGPT vs Direct API Kommo
Below, see a practical comparison between using the ready-made webhooks from ByteGPT and the traditional API of Kommo, highlighting why the method via ByteGPT It is simpler and more direct for those who integrate with Dify.
Feature | Webhook of ByteGPT | Official API Kommo |
---|---|---|
Authentication | No token needed | Requires long-lived token |
Headers | does not require | Mandatory (Authorization + Content-Type) |
Request Body | No need (only uses parameters) | Mandatory (Structured JSON) |
Ease of use in Dify | Very simple (GET with parameters) | Requires POST with custom payload |
Multiple field update | Yes, with several field[...] | Yes, but it requires more complex JSON |
Ready to use in ByteGPT | Yes, it already comes with custom URLs | You need to build everything from scratch |