Your Shopify store makes the sale; the CRM knows the customer.
Products, cart and checkout run in Shopify; the buyer, repeat sales and wholesale enquiries are recorded in the CRM. We build the connection ourselves with REST API, OAuth2, webhooks and import — and we work the scope out together during discovery.
You know your store; you do not know your customer
Shopify does its own job well: storefront, cart, checkout and orders all run in one place. Here is where the mechanism splits: store software records the order, not the relationship — there is no field there to hold the relationship in. These are the five problems we have seen in our own projects with brands that sell direct:
- The customer list is an order list. Who has talked to you before, what they complained about and what they said no to is not written there.
- When a new collection launches, who gets told first is a guess; the segment definitions live in the marketer's head.
- A high-value buyer and a one-off buyer get the same treatment; personal follow-up falls to no one.
- Wholesale and corporate enquiries do not come through the site; they land in an inbox or a DM, the quote stays in a file, and no one follows up.
- Permission-based messaging runs in a separate tool; the record of when consent was given, and with what wording, gets looked for on audit day.
None of this is a shortcoming of the store software; store software manages the sale, not the relationship. The right setup is to leave the storefront in Shopify and move the customer side into the CRM.
How the connection is built — and why we are not in the Shopify App Store
There is no out-of-the-box module for Shopify and we will not say there is. The connection is built as an integration project whose scope is set in the discovery call, using REST API, OAuth2, webhooks and import/export. We also have no app published in the Shopify App Store; we cannot say “install it from the store and it works”.
Rapitek is not an e-commerce platform. Storefront, theme, cart, checkout, stock and shipping stay on the Shopify side; we take over none of them. What the CRM adds is the customer side: the buyer's record, the communication history, repeat sales, consent status and wholesale enquiries.
Let us be explicit about direction too, because this is where things are easily overstated:
- From outside into the CRM — order and customer data is written to the CRM's REST API; access is authorised with OAuth2 and no user password is shared. The layer that does this writing is the integration project itself.
- From the CRM outwards — the outgoing webhook infrastructure is complete in the product: calls are signed, failed calls are retried and the target address is verified.
- Via file — a four-step wizard: upload, map fields, preview, run. 100,000 rows per job, 25 MB per file, more than 75 objects.
The proof that this is not bluff lies in how the product itself is used: in one live customer installation today, a third-party ERP integrator reads and writes records over that same REST API. We do not name the customer or the integrator because we do not have permission to publish their names; what we are stating is a measured fact. This is a single installation, not a case list.
We described our general approach on the integrations page, and how the same framework is set up for a store on your own server on the WooCommerce integration page.
Friday, 4 p.m. — the new collection drops on Monday; who gets told first?
-
1
The segment is picked from records, not from guesswork
People who bought twice, people who spent above a certain amount, people who have not come back for six months — the filter runs on the fields of the customer record, not on the marketer's memory.
-
2
Consent status is visible on the same screen
People with and without commercial electronic message consent are separated. Consents are synced two-way with İYS through an authorised integrator; the wording, the version and the time of the consent are held in the data model.
-
3
The announcement channel is chosen per customer
If your own WhatsApp Business account and your own Verimor SMS account are connected to the CRM, sending happens through the CRM. You are invoiced directly; we do not resell message bundles in between.
-
4
Replies land on the record, not on someone's phone
A reply to the announcement lands in the shared inbox and is logged on the same customer record; first-response and resolution targets are tracked, and paused and resumed against the business-hours calendar.
-
5
Wholesale questions are separated from retail
Someone who says “I want to sell this in my own shop” moves onto the corporate track: an opportunity is opened, a price list is selected, the quote comes out as a PDF and the approval process runs.
-
6
Campaign results are read channel by channel
Which channel a record came from is tagged in the source field; which announcement brought business on which channel is visible in tabular and summary reports, and can be placed on a dashboard.
Flows that can be built between Shopify and Rapitek CRM
Moving customer and order data into the CRM
Customer and order records in Shopify are moved into the CRM through the REST API or the four-step import. The matching key and the frequency are defined in the written scope.
Repeat-sales and customer-value fields
Order count, last order date and total amount are written onto the customer record; a task can be opened for the owner when a customer crosses a threshold.
Consent records and İYS sync
Commercial message consents are synced two-way with İYS through an authorised integrator; the consent evidence chain — wording, version, time, IP, source address — sits in the data model.
Wholesale and dealer track
While retail sales stay in Shopify, wholesale enquiries run in the CRM as opportunities: price list, quote PDF, approval process and won/lost reason.
Multi-currency sales and reporting
If you sell abroad, quotes and reports run in different currencies; rates are refreshed daily. On the day we measured, 21-23 currencies were up to date in eight tenants out of eight.
Signed notifications from the CRM outwards
When a record is created or changed, a signed webhook goes to your system; failed calls are retried and the target address is verified.
Which method, and when?
| Method | What it gives you | When it is chosen |
|---|---|---|
| Import (Data Hub) | The customer and order export taken from Shopify is transferred in four steps: upload, map fields, preview, run. Export is done in the same module; we have not measured its limits | Migrating initial and historical data; when periodic freshness is enough |
| REST API (183 business objects, each with its own endpoint) | An event on the store side is written into the CRM as a record; every object has its own data and schema endpoint, access is authorised with OAuth2, and batch and composite requests are supported | When a continuous flow is wanted; the layer that does the writing is built within the project scope |
| Outgoing webhook | Events in the CRM are delivered to the external system with a signature; failed calls are retried | When something that happens in the CRM needs to trigger the store or ERP side |
| Third-party developer | The agency that built your store, or your own developer, can write the connection themselves using the same REST API; we provide the schema, the OAuth2 access and the field mapping table | If you already have a team managing the Shopify side |
What we verified — and what we could not verify
How is the Shopify connection put live?
-
1
Discovery
We work out your store's volume, your customer count, the state of your historical data and whether you have a wholesale side. If an agency built your store, we recommend they join this call.
-
2
Scope, field mapping and method
Which data flows which way and how often, and what the matching key will be, are settled. The field mapping table, the scope and any fee are shared in writing.
-
3
Configuration and test migration
Customer fields, channel lists, consent fields and permissions are set up; a test migration is run with a sample export, duplicate records are weeded out and the mapping is confirmed on screen.
-
4
Training and go-live
Team training and close follow-up in the first week. We do not commit to a timeline before discovery; after the discovery call we give you a date, not a range.
Our limits: what we do not promise on this page
There are six things that are easy to overstate in an e-commerce context, and we rule them out by name. The refusal itself is the most important part of this page.
- We do not promise stock sync. We do not say “your stock will be in sync with the store”; authority over the stock record stays in Shopify and in your warehouse system.
- We do not say the order → invoice → collection chain will flow by itself. The chain is built into the product, but we do not think it is right to sell it as an automated accounting flow.
- We do not promise manufacturing or MRP automation. Bills of material and production line definitions exist in the product; we cannot point to a reference for work-order execution today.
- We do not build abandoned-cart automation. The sales sequence table in the product is empty in 8 measured installations out of 8; we do not sell an automation we cannot show working. For an abandoned cart, the route we recommend is Shopify's own tools or a marketing tool built for that job.
- We do not do shipment tracking. The tracking number is a plain text field and no courier service is called.
- Rapitek is not an e-commerce platform. Storefront, theme, cart, checkout and returns stay on the Shopify side. If you are looking for store software, we are not the right address; if you are looking for a CRM to manage the customer side, we are.
We wrote the reason for the first three, and “what can be done instead”, line by line in one place: the three things we do not promise. We do not repeat it here, so that we do not end up writing two different sentences in two places.
One more thing: we have no app published in the Shopify App Store. We cannot say “install it from the store and it works” — the setup is work we do ourselves.
Data location: your data is held in the European Union — the database in Helsinki (Finland), the files in Frankfurt, the backups in Falkenstein (Germany). We have no component in Turkey and we have no such thing as a region-selection feature. This is a transfer abroad within the meaning of KVKK art. 9; we establish your basis for the transfer together during the contract process. The detail is on the security page and in the KVKK privacy notice.
Certification: we have no ISO 27001 or SOC 2 certificate, and we will not claim one until we have it. We do fill in your enterprise security assessment questionnaires and describe the architecture in writing.
Plan prices are out in the open; scope comes out of discovery
The scope of the Shopify connection, and any fee for it, is worked out in the discovery call and shared in writing. Plan prices and the separately priced items, on the other hand, we publish on a single page, with the numbers.
Three plans, a scope table and the separately priced items, on one page.
Frequently asked questions about the Shopify integration
Is a Shopify–CRM integration possible?
Do you have a ready-made app in the Shopify App Store?
Can you build abandoned-cart automation?
Which way does data flow from Shopify to the CRM?
Can we transfer our Shopify customer list into the CRM?
Shopify has its own customer panel — why do we need a CRM?
Our wholesale and dealer side is not in Shopify. Can that run in the CRM too?
We sell abroad as well. Do different currencies and languages work?
Will our stock work in sync with Shopify?
Does an order turn into an invoice and a collection in the CRM?
Do you connect the payment side as well?
What does the Shopify integration cost?
How long does the setup take?
Where is our data held?
Let's pin down your Shopify flow in 30 minutes
In the demo call, let's talk through how your customer and order data will flow into the CRM and how your wholesale side will be separated out — on your own store.
The scope of the setup, and any fee for it, is worked out in the discovery call and shared in writing.
