Guidance on Publishing a Calling/VoIP App with Click-to-Call Functionality on Shopify Dashboard

I want to understand the complete process of publishing our calling/VoIP app to the Shopify dashboard. This will be a third-party integration. We need to enable click-to-call functionality, which is a basic feature that will be embedded on the client page. Please guide me through the steps: Should we use an app extension or an iframe for this functionality? Which is easier and more efficient for embedding? What will the flow look like for implementing from scratch and publishing this integration? and one last thing regarding the call logs can we log calls as well.

Hi @aryans1729 ,

If your SaaS also serves customers other than Shopify a non-embedded interface is best. App listing would be approved by Shopify staff then published in the App Store. Merchants go through an OAuth process to install then redirected to secure User Interface.

For VoIP app like whatsapp then you are looking to embed that on the storefront. For that your app should be able to create a theme section with Shopify API that includes source JavaScript files for widget.

Logging calls is handled on the backend of your application. Usage fees can be applied using Shopify Billing API.

Hi AchieveApplabs,

We are working on a Shopify integration to enable Click-to-Call (CTC) functionality. The integration involves adding a call button (e.g., at the bottom-right corner of the client page) for users who install the app. By clicking the button, it will initiate a call to the client (the one whose page is open).

Here are my questions:

  1. To achieve this, would it be better to use app extensions or a public embedded app? The app needs to be installed via the Shopify App Store, and the button should be accessible universally across Shopify where it is needed.
  2. Could you provide guidance on implementing a button similar to what is done in apps like Worldphoneize?

Looking forward to your advice.

Hi @aryans1729 ,

Apps that work on the storefront should use Public app with Theme App Extension (linked below). Embedded apps have a guideline on design (linked below).

Load external code and styles using JavaScript fetch API. Plug them into the theme.liquid, if you’re using theme extensions the merchant can add an app block that has the initializing code. Your application backend should have a micro service acting as an API to initiate calls.

Theme App Extensions:

https://shopify.dev/docs/apps/build/online-store/theme-app-extensions/build

Embedded App Design Guidelines:

https://shopify.dev/docs/apps/design

For more detailed conversation or help with this please contact me via DM.

Thank you for the detailed response earlier. I wanted to clarify a few more points regarding the placement of the Click-to-Call button:

  1. If we want the Click-to-Call button for Admin only (accessible in the Shopify Admin interface for store admins or staff), what would be the recommended approach?

  2. If we want the Click-to-Call button for both Admin and Customers (accessible to admins in Shopify Admin and also to customers on the storefront), what should we do?

  3. If we want the Click-to-Call button for Customers only (accessible exclusively on the storefront for customers), what is the best way to implement this?

Hi @aryans1729 ,

For Just Staff you can Admin actions on resource pages like an order page, or product page. Full list linked.

https://shopify.dev/docs/apps/build/admin/actions-blocks#admin-actions

For both use Admin actions and Theme Extension.

For just customers use just Theme App Extension.

We want whenever someone install the app from shopify app store. No matter if he/she is an admin or customer after installing the app the click to call button should be there for everyone. For that which one should we use which documentation or resources. similar like this if you see they have it on Admin UI as well as checkout page as well. https://apps.shopify.com/worldphoneize check this.