*** id: 22c575e7-c92b-422d-9b02-61d008aaf05a title: Click-to-Call sidebar-title: Overview position: 0 description: >- Embed real-time voice communication capabilities in your website with SignalWire Click-to-Call. slug: /click-to-call -------------------- [dashboard]: https://my.signalwire.com [dashboard-c2c]: https://my.signalwire.com?page=click_to_calls [client-sdk]: /docs/browser-sdk/js/reference/signalwire [resource-address]: /docs/platform/addresses [technical-reference]: /docs/browser-sdk/click-to-call/reference ## What is Click-to-Call? SignalWire Click-to-Call (C2C) is an embeddable script that adds real-time voice communication functionality directly to your website with minimal setup. With just a few lines of code, you can embed SignalWire's calling capabilities inside an HTML page, allowing your website visitors to initiate voice calls directly from your web pages without requiring any additional software or setup. Click-to-Call provides a simple way to embed voice communication on your website. If you need more advanced customization or features, the C2C widget uses the [SignalWire Client SDK][client-sdk]. You can leverage this SDK directly to build more sophisticated communication applications with additional control and functionality. *** ## Prerequisites The C2C embeddable script requires: * A SignalWire account that has access to the [dashboard][dashboard] * A website where you can embed the C2C widget * Full support for embedded scripts *** ## Set up Click-to-Call ### Create the widget Start by creating a widget in your SignalWire Dashboard: * Log in to your [SignalWire Dashboard][dashboard] * Navigate to [Tools > Click To Call][dashboard-c2c] * Configure your widget settings: * Give your widget a descriptive **name** * Set a **destination** for incoming calls (this is the [resource address][resource-address] that will receive calls) * Adjust any other settings as needed * Click **Save** to generate your widget * Click the **Copy Embeddable Widget** button to copy your personalized C2C script The copied script will look similar to this (but with your unique API key): ```html ``` ### Prepare your website Before adding the script to your website, you need to add two HTML elements where the call button and interface will appear. Without these elements, the button and interface may appear in unintended locations, or not at all. ```html ``` These elements can be positioned anywhere in your HTML based on where you want the button and call interface to appear on your page. If you prefer to use existing elements on your page instead of creating new ones, you can modify the script to target those elements in the next step. Simply note the IDs of your existing elements and update the `buttonParentSelector` and `callParentSelector` parameters accordingly. See the [Technical Reference][technical-reference] for more details on these and other configurable selectors. ### Add the C2C script to your website With your container elements in place, you're ready to add the Click-to-Call script to your website: * **Open your website's HTML file** in your preferred editor * **Choose the best location for the script:** * **Head section** (recommended): Placing it in the `` ensures the script loads early, making the button available as soon as possible * **End of body**: Alternatively, you can place it just before the closing `` tag if you prefer to load scripts last * **Add the script** you copied from the dashboard to your chosen location: ```html < head> Your Website Title ``` The script will automatically find your container elements and render the call button and interface in those locations. ### Test your implementation * Save your changes and open your website in a browser * You should see the Click-to-Call button in the location you specified * Click the button to test: * A call interface should appear * A call should be initiated to your configured destination * Try making a test call to ensure everything works properly If the button doesn't appear or calls don't connect, check: * That your element IDs match what's in the script * That the script is properly placed in your HTML * Your browser console for any JavaScript errors *** ## Next Steps * [View the technical reference][technical-reference] for customization options