KeyCRM integration is the transfer of applications and orders from the site immediately to the CRM card: with a complete composition of fields, with a source mark and without manual transfer from the mail. We do it through API and webhooks on OpenCart, WooCommerce and Next.js, if necessary we return order statuses back to the site. Let's start with the flow diagram, not the code: in the B2B parts catalog we measured, the availability request form is working, and the counter is still sending data to analytics, which Google turned off on July 1, 2023. The term of work is 4–14 working days.
the application remains on the website and is added to the queue
If CRM did not respond
order status and declaration number from CRM to the site
Reverse flow
analysis of the flow of applications, 2-3 working days, free of charge
Before the estimate
30
Guarantee
calendar days for completed work
Who it's for
Situations where this service delivers results
Scenario 1 of 5
Applications live in mail, messengers and the head of the manager
The form sends an email to a general mailbox, someone writes on Instagram, someone calls. Each channel is processed separately, and none shows how the call ended. Transfer to CRM consolidates entry points into one list with responsible and status.
We'll review your situation in a free audit
Scenario 2 of 5
You don't know which ad the request came from
A letter from a form carries neither a page nor a campaign. We add the source field at the transfer stage: page address, campaign tags, search query where it is available. A fair limit: in itself, this field of advertising does not make it cheaper - it only gives a reason to turn off what does not bring appeals, and a person will still have to read the data.
Scenario 3 of 5
The same client has three cards in the system
I wrote in the messenger, left the form, then called - three records for one person, doubled statistics and history, torn to pieces. Calling or emailing clears it up at the entrance, but the rule is made by your sales manager: in some businesses, two people with the same number is a normal situation.
Scenario 4 of 5
Store orders are processed twice — in admin and in CRM
The manager opens the order on the website and copies the composition, amount, payment and delivery to the card. For a dozen orders it is tolerable, for several dozen a day - a separate position and errors in the sums. Sending an event removes the copy; free time becomes money only when you redistribute it.
Scenario 5 of 5
Hands-on support answers "where's my order"
Each such response switches the sales manager to help. The return flow of statuses to the buyer's account or to the letter with the declaration number removes most of these requests. First, we agree on which internal statuses the buyer should see.
What's included
Complete list of work and what you get as a result
Transfer of applications from all forms of the site to CRM - the manager opens a card with a composition of fields, not a letter with three lines
Transfer of store orders: composition, amount, method of payment and delivery are placed on the card without copying by hand
Source field in each bid: page, campaign tags, search query where available
Compilation of duplicates according to the agreed rule - one card per client instead of an entry for each form
Queue with retries: the application is first written to the site database, so CRM silence does not mean a lost request
Idempotent key per transfer - retrying after a failure does not generate a second card for the same request
Return flow: order status and declaration number from CRM to the buyer's account or to a letter
Duplicate notification to the manager in Telegram - a new request is visible before someone has opened the CRM
Transmission log with visible errors: it is clear what went wrong, what the system responded and what needs to be repeated
Live application review with your manager and written instructions for your processes
Guarantee of 30 calendar days for completed works
When this service isn't right
What's not included — so there are no surprises at delivery
CRM licenses and rates
Setting up funnels, business processes and access rights within the system is your admin area
Training managers to work in CRM
Transferring customer history from the old system is a separate scope of work
Telephony and recording of conversations
Free analysis of the flow of applications
Before integration, we draw a simple diagram of where your calls are coming from today and where they are being lost. Most often, it turns out that some applications do not reach the manager at all - and this is visible without any code.
What we measure
How many entry points do you have?Form on the website, call button, messengers, platform, mail. Every point that does not converge is a source of lost leads.
Where are the applications coming now?Mail in which no one reads them, or the manager in the messenger from his phone. We record the real state, not the one described in the regulations.
Does the application have a sourceWithout a source tag, you don't know which ad is driving the hits. This field is cheap to add at the integration stage and expensive to restore retroactively.
What about takesThe same client writes in the messenger and leaves a form - in CRM it should be one card, not two.
Is reverse flow required?Order statuses and the declaration number from CRM back to the site or to the buyer's letter is a separate scenario that should be evaluated before starting.
What you get
Application flow scheme: where they come from, where they get, where they get lost.
The list of fields that should be transferred to CRM, including the source of the request.
Evaluation of works with a deadline.
A 30-minute conversation with the head of the sales department.
Timeline: 2-3 working days
Why is it free
Because the application flow scheme is useful to you regardless of whether we integrate something. It is drawn in two or three days.
What's next
After analysis, we give an estimate. If one email and a table are enough for your volume, let's say it directly.
Short form: your contact and site URL
Contract, act and 30-day warranty
Every project gets a written contract: scope, deadlines, amount, acceptance procedure. After delivery — act and invoice, then 30 calendar days of warranty.
Sole proprietor & bank transfer
The contractor is a registered sole proprietor. Payment by invoice with closing documents.
Rights & access — yours
Code, design and materials transfer to you after full payment. Domain, hosting, repository and analytics are registered to you.
Client portal instead of email chains
During the project you get access to a portal: contracts, invoices, acts and project status in one place.
European clients
Among our work — projects for Norway, Bulgaria, Moldova and Spain.
Verifiable numbers
Every case in the portfolio comes with a link to a live site and a technical measurement.
Audit first, then pricing
There is no price list on the site intentionally: the scope of the same work differs multiples between clients.
We say "no" when unsure
If the task isn't ours or the deadline is unrealistic — we tell you upfront.
What affects the price
Why two seemingly identical tasks are priced differently
How many sources are combined into one systemOne callback form is one script and one set of fields. Forms, Shop Orders, Messengers, and Platform are four different data structures, each with its own mapping to card fields. It is the number of sources, not the number of site pages, that limits the estimate.
Do you need a reverse flow of statusesThe most expensive part after the transmission itself: the webhook receiver, negotiating a list of statuses for the buyer, and a separate script to re-deliver the same message. It is not necessary - the stage falls out of the estimate completely, and we say it directly.
Status of forms and fields on the siteIf the phone number is stored in an arbitrary line, and the last name and city are in the same comment field, the duplication will not work: the system has nothing to compare. Then the forms have to be proved together with the integration — and this is the most frequent hidden article of works.
PlatformOn OpenCart, 3 order events have long been in place; under OpenCart 4, part of the Ukrainian modules did not come out, and improvements are being written by hand. On WooCommerce, transmission is caught by hooks that check after core updates. Next.js has its own route, but the key does not enter the browser.
The double rule and reference booksSummary by phone - one request. Summarization by phone and mail with normalization of the number format, with the handling of the case of "the same number for two people" — a separate logic with verification on live data, not a check mark in the settings.
Process steps
Transparent stages with approval at every step
Total duration:4–14 days
1
Analysis of the flow of applications
2-3 working days, to estimate
We draw a diagram: where appeals come from, where they go, at what stage they disappear. This part is free of charge and is included in the estimate, it is not included in the work period.
2
Access key, field mapping, test card
1-2 working days
We connect your key, compile the correspondence table "form field - card field" and run the first test application through. Here we agree which fields are mandatory and which the manager fills in himself.
3
Site forms and source of appeal
1-3 working days
Each form starts writing a request to the site's database and only then sends it to CRM as a background task. Along with the application comes the source: page, campaign tags, search query where it is. Then turn on the notification to the manager.
4
Ordering the store and making duplicates
0-4 working days - the stage is dropped if there is no store
The event of the placed order includes the warehouse, amount, payment and delivery. We turn on the duplicate rule on live data and see how many records it glued together and whether it glued too many.
5
Reverse flow of statuses
0-3 business days is a separate script, enabled as needed
Webhook receiver with source validation and idempotence: Redelivery of the same message does not change the order twice. The status and declaration number are sent to the buyer's office or by mail.
6
Verification on live application, journal, transmission
1-2 working days
We go through the scenario together with your manager: sending the form, card in the system, notification, status change. We show the transmission log and what the error looks like in it.
Did not find your case?
Describe how it works on your side — we will tell you whether “KeyCRM integration” fits and what it means in your situation. No brief and no call: one question, one answer.
Technologies & integrations
What we build on and what it connects to
Stack
KeyCRM API — cards, funnels, orders. Limit: the composition of the fields and request limits are set by the service; check again after updates.
Webhooks — statuses arrive by event. Limit: webhook may not arrive or arrive twice, receiver must be replay resistant.
Queue with repeated attempts — the application is placed in the site database, in the CRM goes in the background. The limit: between attempts, it is on the site, but not yet in CRM.
OpenCart 3 and 4 — order and form events. Limit: in the fourth branch, the events were rewritten, part of the modules did not work under it.
WooCommerce — transfer on order hooks. Limit: After kernel updates, the script is checked again.
Next.js — the form sends data to its own server route, the key does not enter the browser. Limit: there are no box modules, everything is written by hand.
Transmission log - you can see the request, response and reason for the error. Limit: it contains personal data, so we limit the storage period at the start.
Integrations
KeyCRM
site forms
online store order
Telegram bot
Nova Poshta
GA4
eSputnik
Transfer to CRM via API vs. letter to mail
How this option differs from the alternative
The form sends the letter to the general mailboxOur approach
What does the manager see?a letter among the rest of the mail, without a person in charge and without a statusa card with the composition of the fields, responsible person and status
Source of appealnone at all; cannot be restored retroactivelythe campaign page and labels lie in the card and are read after a month
Doubleseach request is a separate letter, only the manager's memory can connect themare compiled according to the agreed rule at the entrance
Failure on the receiver sidethe letter did not arrive - and no one will know about itthe application is in the database of the site and is filled in the queue, the error is visible in the log
Cost of ownershipzero at the start and constant manual work with each applicationone-time operation plus validation after API updates
Cases
Tasks and results in numbers — all metrics measured by us
B2B catalog of spare parts and components for industrial sewing machines
Task
Let a technician find a part by code or equipment model and leave an availability request.
Solution
Catalog on OpenCart with selection by machine model, availability request form, cashless payment to FOP account and two language versions with correct hreflang.
Result
Measurement 07/31/2026: 1,992 addresses in the sitemap without a single duplicate — 1,848 product cards and 138 categories, first server response 388.1ms with 120.2KB markup. The defect is directly related to the topic of this page: the counter is still connected in the HTML with the configuration of Universal Analytics, disabled by Google on July 1, 2023, and there is no GA4 property - the source of calls is not recorded for the third year, although the request form works. We did not measure the work of the CRM itself from the outside: only the layer from which the application starts is visible.
B2B supplier of professional equipment for chocolate production
Task
Collect requests for calculation of equipment that are not bought in one click, and do not lose those appeals that come by calling.
Solution
A catalog site with a calculation request form, two language versions and six payment methods. Google Tag Manager, GA4 and Binotel call tracking are connected.
Result
Measurement 07/31/2026: 106 directory items and 230 addresses in the sitemap, first server response 351.4 ms, full markup loading 490.4 ms. Calls are tracked by call tracking, and this is the type of site that would benefit from consolidation the most: in B2B, most transactions start with a call, and the billing form provides the second half of the picture. How many appeals lead to a deal is not visible from the outside - it is a figure from the client's office.
online store of tactical and military equipment with a catalog of more than 50,000 items
Task
Maintain an extremely large assortment with detailed filtering and do not lose the speed of returning pages.
Solution
OpenCart 3 by Cloudflare, two language versions, nine types of JSON-LD on the main. In the checkout there are five payment methods with dataLayer events, Binotel telephony, eSputnik email service, login through Google.
Result
Measurement 07/31/2026: 54,302 products and 635 categories, confirmed by two independent methods with a discrepancy of 0.4%, with a first server response of 413.8 ms. This is the most complete layer of collection of requests from everything we measured: checkout events, call tracking and mail service are already there - there is something to transfer to CRM. Defect found: hreflang declares uk-UA and uk-RU when html lang="ru".
What we need from you
We can't start without this — best to prepare in advance
1Your CRM API access key is issued to you, not the contractor.
2Access to the site and admin with rights to install updates.
3The list of forms and scripts that we transfer, and the fields that the manager should see in the card.
4The double rule: we record by phone, by mail or both.
5Decide if you need a backflow of statuses to the site, and what statuses the buyer should see in general.
6The CRM administrator on your side — he configures funnels, rights, and directories.
If something is missing — let us know, we'll help you gather it or do it as a separate task.
FAQ
Most frequently asked questions — with concrete answers
Why send requests to CRM if they come to the mail anyway?
The post office does not show what happened to the application further. The card shows who took the appeal, when they answered and how it ended; this is not and will not be in the letter. The second reason is the source: there is no page or campaign in the letter, but they are in the card, and after a month you can see where those who bought came from. The third is silence: an email that did not arrive does not bother anyone until the client reminds himself. We do not promise that there will be more appeals after integration. We promise that they will become visible.
What happens if CRM is not available when the form is submitted?
The application must not disappear - this is the main requirement for integration, and this is why the transfer is arranged in two steps. First, the appeal is recorded in the database of the site itself, and the person is thanked. The background task then returns it to CRM and, if the system is silent, retries with an increasing pause. Each transfer carries an idempotent key, so replay does not create a second card. In parallel, the manager receives a notification in Telegram: in the window between attempts, he already knows about the request, although it is not yet in the system.
How to convert a client who writes both in the messenger and in the form?
According to the double rule, which we agree on at the start: usually by phone, sometimes by phone and mail together. Without the rule, you have two cards for one person, both managers write to her separately, and the report shows double the number of appeals. The decision here is an organizational one, and it is approved by the sales manager: in some businesses, one number for two people is a common thing, and you cannot glue such records. We implement the rule and show on live data how many records it glued together.
Is it possible to return order statuses back to the site?
You can, and it significantly relieves support: most requests "where is my order" are closed before they are delivered. Technically, it's a webhook receiver with source verification and idempotence — redelivery of the same message doesn't have to change the order twice. The difficulty here is not in the code, but in the agreement: the internal statuses of the funnel should not be shown to the buyer, so we first agree on a short list of what he will see, and only then turn on the flow.
Why is there no integration with this particular CRM among the cases?
Because it is impossible to check the work of CRM from the outside: the accounting of applications is not visible from the side of the site visitor, and we will not make up the numbers. Instead, we show what was actually measured — the layer from which the application starts. In the B2B spare parts catalog, this is the availability request form at a dead counter, at the equipment supplier, it is a calculation form with call tracking, in the equipment store, it is checkout events, telephony and postal service at the same time. We will also analyze your stream for free, up to any estimate.
How long will the integration take?
4-14 working days after analyzing the flow; the examination itself takes 2-3 days, it is free and is not included in this period. The lower limit is one or two site forms, field mapping and verification on a live application. Top - when store orders, duplicates, and status backflow are added. The stages are partially parallel, so 14 days is a calendar term, and not the sum of the maximums for each point.
Is the access key and personal data safe?
The key lives in environment variables on the server and does not enter the browser: all requests come from the backend. We immediately limit the transmission log by the storage period, because it contains phones and names, and the indefinite log is a database of personal data that no one protects. Separately, we ask you to designate who from the company has access to the CRM: the technical part of protection does not save if the cards are seen by everyone.
We haven't chosen a CRM yet. Do integration now?
No. Solution first, data transfer second: It is more expensive to move configured funnels and mappings between systems than to do it once. What should be done right now is to add the source label transfer to the application on the site and start saving it. This field is cheap at the development stage and cannot be recovered retrospectively: after six months, you will not know from which page those who bought came. Stream parsing will also not disappear - you need a scheme regardless of which system you choose.
In response, there is a diagram of the flow of applications with marked places of loss, a list of fields that should be transferred to CRM, and an estimate of works with a deadline. If you have enough mail and table in your volume, you will hear it in the first email.
From measured casesMeasurement 07/31/2026: 1,992 addresses in the sitemap without a single duplicate
There is no price list on the site on purpose: the same work differs several times over between two clients, and a “from” figure explains nothing in that case. First a free audit — we count your pages, duplicates and speed — then we name the sum and the deadline and fix both in the contract.