Skip to content
Integration · Shopify store

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.

Rapitek CRM channels and integrations screen (Turkish interface): WhatsApp, Email Accounts, Meta Pages, CTI Adapters, Payment Providers and İYS Providers cards
Channels and integrations — connection cards

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.

A concrete scenario

Friday, 4 p.m. — the new collection drops on Monday; who gets told first?

  1. 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. 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. 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. 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. 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. 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.

Choosing a method

Which method, and when?

The method is chosen together during discovery, according to your store's volume and how fresh the data needs to be.
MethodWhat it gives youWhen 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 limitsMigrating 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 supportedWhen a continuous flow is wanted; the layer that does the writing is built within the project scope
Outgoing webhookEvents in the CRM are delivered to the external system with a signature; failed calls are retriedWhen something that happens in the CRM needs to trigger the store or ERP side
Third-party developerThe 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 tableIf you already have a team managing the Shopify side
What we can say

What we verified — and what we could not verify

Signed
Outgoing webhooks are signed; failed calls are retried
183
Business objects in the REST API
0 records
Sales sequence table empty in 8 of 8 installs — no abandoned-cart flow promised
21-23 currencies
Currencies up to date in eight of eight tenants on the day we measured
Rollout

How is the Shopify connection put live?

  1. 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. 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. 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. 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.

FAQ

Frequently asked questions about the Shopify integration

Is a Shopify–CRM integration possible?
Yes — not with an out-of-the-box module, but as an integration project with a defined scope. The connection is built with REST API, OAuth2, outgoing webhooks and import/export. Which of your customer, order and consent data flows which way, and how often, is worked out in the discovery call and shared as a written scope.
Do you have a ready-made app in the Shopify App Store?
No. We have no app published in the Shopify App Store and we will not write as if we did. What we do have is a documented interface: the product ships out of the box with 183 business objects, and each is published in the REST API with its own data and schema endpoint — you can read the field structure from outside with describe. Alongside it there is OAuth2, signed outgoing webhooks and a four-step import/export wizard. The connection is built on top of these, specifically for your store.
Can you build abandoned-cart automation?
We cannot say that we do. The sales sequence table in the product is empty in 8 measured installations out of 8; that is, we cannot show this feature working in a real installation, and we do not sell what we cannot show. For an abandoned-cart reminder the right tool is Shopify's own solutions or a marketing tool built for that job. What the CRM adds is the relationship after the purchase.
Which way does data flow from Shopify to the CRM?
There are two separate routes and they should not be confused. Writing from outside into the CRM happens over the CRM's REST API and is authorised with OAuth2; the layer that does this writing is the integration project itself. Notification from the CRM outwards goes through the signed outgoing webhook that is ready in the product; failed calls are retried. The third route is the file route: the four-step import wizard.
Can we transfer our Shopify customer list into the CRM?
Yes, and this is the starting point we recommend. You export from Shopify as CSV and import it with Data Hub's four-step wizard: upload, map fields, preview, run. A suggestion is offered for the field mapping, and you confirm the mapping on screen. 100,000 rows per job, 25 MB per file. We do the first migration ourselves as part of setup.
Shopify has its own customer panel — why do we need a CRM?
Because the two answer different questions. The store panel answers “what was sold”; the CRM answers “where does our relationship with this person stand”. Conversation history, consent status, open enquiries, the quote process, the owner and channel attribution are the CRM's territory. On the wholesale side the store panel is not in play at all: quotes, approvals and price lists have to run somewhere else.
Our wholesale and dealer side is not in Shopify. Can that run in the CRM too?
Yes, it can. A wholesale enquiry is opened as an opportunity, a price list is selected, the quote comes out as a PDF and the approval process runs; quote → order conversion is a ready-made action in the product. You edit the quote template yourselves. The retail side carries on staying in Shopify.
We sell abroad as well. Do different currencies and languages work?
They do. The product is multi-currency and works with the daily TCMB rate; on the day we measured, 21-23 currencies were up to date in eight tenants out of eight. Quotes and reports work in different currencies. The interface texts sit in your own database, an administrator edits every string from the screen and no code deployment is needed. Language is chosen per user.
Will our stock work in sync with Shopify?
We do not promise real-time stock synchronisation. Authority over the stock record stays in Shopify and in your warehouse system; a stock mirror fed from the CRM produces two numbers in two places that do not agree. We wrote the reason, and what can be done instead, line by line in the limits section of the integrations page.
Does an order turn into an invoice and a collection in the CRM?
We do not say it turns by itself. The order → invoice → collection chain is built into the product and can be switched on or off per tenant, but we do not think it is right to sell it as an automated accounting flow. Rapitek CRM does not issue e-Fatura or e-Arşiv documents and is not a GİB private integrator.
Do you connect the payment side as well?
The payment flow in Shopify stays in Shopify; we do not take it over. On the CRM side, the payment adapters built into the product are for iyzico and PayNkolay. We cannot point to a reference for a live collection flow today, so we do not say “we take live payments”. Moving payment or collection information into the CRM as a field, on the other hand, is a piece of work with a defined scope.
What does the Shopify integration cost?
We do not put a number on this page, because the fee depends on the scope: the number of records to be moved, the direction of the flow, its frequency and the development needed on the store side. After the discovery call we share the scope and the fee in writing. A project-specific integration is a separate line item outside the plan price.
How long does the setup take?
We do not commit to a timeline before discovery; after the discovery call we give you a date, not a range. The setup consists of these steps: discovery, configuration, data migration, training and go-live. An import-based store flow is built within that plan; the scope of API-based work that needs a continuous flow is settled in the same discovery.
Where is our data held?
In the European Union: the database in Helsinki (Finland), the files you upload in Frankfurt, the database backups in Falkenstein (Germany). We have no component in Turkey and we do not offer region selection. This is a transfer abroad within the meaning of KVKK art. 9; we establish its basis together during the contract process. Your CRM data is held in a separate database that belongs to you.

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.

Made with RapitekGO

We would like to use optional cookies to measure your visit. The site works exactly the same if you decline. Cookie policy