We build therapist websites that connect to the scheduler a therapist already uses, so we have an interest in this topic. To keep the guide fair, every plan, setting and step below comes from SimplePractice’s or the builder’s own help page, which we opened on October 22, 2026, and nobody is ranked. Where a page did not say, we write “could not confirm.”
Where do I paste the SimplePractice code on each website builder?
You paste it into the builder’s own code or embed feature, and the name of that feature, and whether it needs a paid plan, differs for each builder. The table shows what each company’s help page says; the steps follow in their own sections.
| Builder | Where you paste it | Paid plan needed for custom code? | Source |
|---|---|---|---|
| Squarespace | Code block (set to HTML) | Yes for JavaScript or iframes: Core, Plus or Advanced (its code-customizations page also lists Business and Commerce plans) | Squarespace Help Center317 |
| Wix | Embed HTML element | Could not confirm; the embed page names no plan. The separate Custom Code tool needs a published site with a connected domain | Wix Help Center56 |
| WordPress.com | Custom HTML block | Yes: a paid plan with hosting features activated | WordPress.com Support4 |
| Self-hosted WordPress | Custom HTML block | No plan applies; the signed-in user needs the unfiltered_html capability | WordPress.org Documentation78 |
| Showit | Embed Code element on a canvas | Could not confirm | Showit Help Center9 |
| GoDaddy (Websites + Marketing help page) | HTML section | Could not confirm | GoDaddy Help10 |
| SimplePractice Professional Website | Nothing to paste; the request flow is built in | Not applicable; included on Starter, Essential and Plus | SimplePractice Support12 |
The steps below cover these builders one by one, and our website builders comparison compares the builders themselves. SimplePractice’s own article also covers Brighter Vision, TherapySites, Weebly and Webflow, and we summarize those near the end of the steps.1
What do I need to switch on in SimplePractice first?
You need the Client Portal on, online appointment requests on, and the Plus plan if you want to embed the widget. SimplePractice puts it plainly: “The appointment request widget is only available on the Plus plan.”1
Prices checked October 22, 2026. SimplePractice lists Starter as starting at $49 a month, Essential at $79 and Plus at $99. Online appointment requests are included on all three; the appointment request widget is included on Plus only.2
Here is the order, using SimplePractice’s own paths:
- Go to Settings > Scheduling and inquiries > Client Portal permissions and toggle the Client Portal on.11
- On the same page, toggle Online appointment requests on, choose your preferences and click Save changes.12
- Set the rules for requests. SimplePractice lists appointment start times, how far in advance people can ask, allowing requests from new clients, a prescreener, asking whether someone is self-pay or using insurance, and requiring a credit card.12
- Set and lock your Client Portal default domain before you share links. SimplePractice warns that “Once locked, your default domain can’t be changed directly.”11
- Go to Settings > Scheduling and inquiries > Widgets and select Copy code. In a group practice, click Copy code next to your name to preview your own clinician-specific widget.1
Everything people can book comes from your availability schedule. SimplePractice says the feature “is integrated with your Availability schedule,” and “All appointment requests will need to be either approved or declined by you.”12 Nobody books a session automatically.
One limit to know before you start. SimplePractice’s support team can help with the widget inside SimplePractice but “can’t assist with adding or customizing the widget for another website.”1 That is why the builder’s help page matters as much as SimplePractice’s.
Should I use a button, the embedded widget or a plain link?
Use the widget if you are on Plus and want people to start a request without leaving your page; use a plain Client Portal link if you are not. We only list the options SimplePractice’s pages describe.
- The embedded widget. This is the code you copy from Widgets. It shows as a button on your page: SimplePractice’s Brighter Vision note calls it a button and asks for it to go in a “CTA Block widget so this button will show up on every page.”1 Clients see “Request appointment” on your website.13 Requests “will appear in your SimplePractice account, where they can be accepted or declined.”1 Plus only.
- A link to your Client Portal. In Client Portal permissions you can select the copy icon and share the link “outside of SimplePractice.”11 A new client can request an appointment from a clinician’s Client Portal.13 Online appointment requests are included on every plan.2 This option sends people to a SimplePractice page instead of keeping them on yours.
- A clinician-specific link, for group practices. SimplePractice says “This feature is available to group practices on the Plus plan,” and an appointment request link “will show that clinician’s services, availability, and request form in the Client Portal.”14
- The SimplePractice Professional Website. If your site is built there, “there's no need to embed the appointment request widget.”1 Publishing it “will replace the landing page for the Client Portal.”15
There is also a contact form widget, which is a different thing: it sends an inquiry, not a time request. For external websites it is also Plus only.16
We do not print the widget code here. Copy it from SimplePractice each time, because if you change your portal default domain, SimplePractice says to remove the old widget code from your site and add fresh code from the Widgets page.1
How do I add SimplePractice booking on Squarespace?
Paste the code into a Code block set to HTML, on the Core, Plus or Advanced plan. Squarespace says “To add JavaScript or an iframe to a code block, your site needs to be on the Core, Plus, or Advanced plan.”3 SimplePractice’s article treats the widget’s JavaScript as a separate part of the code, so in our reading the plan rule applies.1
- Open the Pages menu, select or create the page, and click Edit.1
- Click + Add Block where you want the button, enter “code” in the search bar and choose the Code icon.1
- Double click the text box and paste the copied code into the Content box.1
- Set the Mode menu to HTML. Squarespace says “To render CSS or JavaScript, select HTML in the Mode menu.”3 SimplePractice’s article does not list this step.
- Click Apply, then Save. SimplePractice adds: “Once you exit editing mode and refresh the page, the embedded widget will display.”1
If the button does not load, Squarespace names two causes: “Custom code might not render if you added it to a page in an index page, or if Ajax loading is on.”3 SimplePractice’s version of the Ajax advice is “please disable Ajax loading,” but for Squarespace version 7.1 it says to contact Squarespace.1 Squarespace also says that “all code-based customizations fall outside of the scope of Squarespace support” and that it can’t guarantee their full compatibility, particularly their appearance on mobile devices.17
How do I add SimplePractice booking on Wix?
Add an Embed HTML element and paste the code into it. Wix’s embed page names no plan requirement, so we could not confirm whether one applies.5
- In the Wix Editor, click Add Elements, then Embed Code, then Popular Embeds, and choose Embed HTML.5
- Click the embed on your page and choose Enter Code.
- Paste the snippet under “Add your code here” and click Apply.5
- Publish and view the live page.
Three Wix warnings affect a booking button. First, “The HTML and URL elements in our editor are iFrames. Therefore, the code or site you are embedding won’t be responsive, even if it is originally.”5 Second, SimplePractice says Wix limits custom code, so the widget works for clients but “it won't display as a full-screen modal experience.”1 Third, Wix reports that in December 2025 it added frontend security measures, so “some code snippets that previously worked may now be blocked until the provider updates them.”6
Wix also has a Custom Code tool under Settings. It needs a published site with a connected domain, and Wix says its snippets “are always invisible to your site visitors,” so in our reading it is not the place for a visible button.6 Wix adds: “We cannot provide support for external codes that were not created or tested by Wix.”5
How do I add SimplePractice booking on WordPress.com?
Use a Custom HTML block on a paid plan with hosting features activated. WordPress.com says interactive third-party widgets “require a paid plan with hosting features activated.”4
- In your site’s dashboard, open the page you want to edit.4
- Click the + Block Inserter, search for “HTML” and add the Custom HTML block.4
- Click Edit HTML, paste the copied code on the left, and click Update.4
- Save or publish the page and view it while signed out.
If your code disappears after saving, WordPress.com has a checklist: check your plan, then activate hosting features by installing a plugin, then paste the code again. Its words are “Install at least one plugin on your site to activate your plan to accept custom code.”4 Its code page adds that free sites have limits on the code they accept.18
SimplePractice has no WordPress steps of its own. It says “there isn’t a generic set of steps that can be applied to all WordPress sites” and sends you to your website administrator or WordPress support. For Elementor, it suggests adding the widget’s CSS and HTML where you want the button, and the JavaScript in a footer widget, because “WordPress typically strips out JavaScript when going back and forth between the Visual editor and the Code editor.”1
How do I add SimplePractice booking on self-hosted WordPress?
Paste the code into a Custom HTML block while signed in as a user who is allowed to post scripts. There is no plan to buy; the limit is your user role and your host.
- Edit the page, click the Block Inserter, or type /html and press enter in a new paragraph.7
- Paste the copied code into the block.
- Preview, then update the page.
The WordPress documentation explains why a script can vanish. Starting in WordPress 7.0, the CSS and JavaScript panels “are only available to users with the unfiltered_html capability,” and without it WordPress strips disallowed tags such as script and iframe when you save.7 Administrators have that capability, and Editors do on a single site, but “In WordPress Multisite, only Super Admins have the unfiltered_html capability.”8 The documentation does not cover limits your host or plugins may add, so test after saving.
How do I add SimplePractice booking on Showit?
Add an Embed Code element to a canvas and paste the code into its Custom Code box. Showit’s page names no plan requirement, so we could not confirm whether one applies.9
- In the Design App, hover over the Element icon in the bottom toolbar and select Embed Code.9
- Click the black box that appears on your canvas and open the Embed Info tab in the Properties Panel.
- Click the Custom Code box, paste the code and click Save.
- Resize and place the box where you want the button.
If you cannot paste, Showit says you may need to allow clipboard access for app.showit.com in your Chrome site settings, then refresh the Design App.9 Showit also warns: “Showit renders the code exactly as it is provided, we do not offer controls to customize the embed code. Not all embed code will scale in size.” And “Not all embed codes will properly display on hidden canvases or canvas views,” so you may need to place the button on a canvas that is always visible.9
How do I add SimplePractice booking on GoDaddy?
Add an HTML section and paste the code into its Custom Code field. GoDaddy’s help page is titled for Websites + Marketing and names no plan requirement, so we could not confirm one.10 SimplePractice’s own advice for GoDaddy sites is to “reach out to the platform’s support team for assistance” and share the copied code with them.1
- From your GoDaddy product page, expand Websites + Marketing and select Manage next to your site.10
- Go to the page and place where you want the button and add a section.
- Search for the HTML section and select Add.
- Paste the code in the Custom Code field. Leave Forced Height blank for auto-height or set a height in pixels.
- Use Preview, then publish your site.
Expect some trouble with the display. SimplePractice says it has “received feedback from customers that the widget isn't able to fully expand on sites hosted through GoDaddy.”1 GoDaddy notes that the HTML section sits inside an iframe, so “the widget may not be responsive,” and suggests a larger height value if the widget does not appear.19 It also says: “Embedding code can affect how your entire site functions,” and that it cannot troubleshoot third-party code.1019
What if my site is on SimplePractice, Brighter Vision, TherapySites, Weebly or Webflow?
On the SimplePractice Professional Website you add nothing, and on the others SimplePractice’s article gives short instructions.1 The Professional Website is included on Starter, Essential and Plus, and you publish it from Marketing > Website and domain.215 If you are still choosing a platform, our guide to what a therapist website costs compares them.
- Brighter Vision: SimplePractice calls the easiest route asking Brighter Vision’s support to add it, with the copied code in your email.1
- TherapySites: reach out to the platform’s support team with the code.1
- Weebly: drag the Embed Code button into place, choose Edit Custom HTML, paste the code, click outside the box and publish.1
- Webflow: click + > Elements > Advanced > Embed, place the element, paste the code in the HTML Embed Code Editor and click Save & Close. SimplePractice says you will see a placeholder in your project, but the widget should show on the live site after you publish.1
What does the widget cover for privacy, and what does a contact form on my builder not cover?
SimplePractice says it is HIPAA compliant and that you agree to its Business Associate Agreement (BAA) when you create an account, but the pages we opened do not say how that agreement applies to the widget on your own website, so ask SimplePractice before you rely on it. Its Trust & Security article says: “SimplePractice is HIPAA compliant and HITRUST certified,” and “When you create your trial account, you agree to the Business Associate Agreement, the Terms of Service, and the Privacy Policy.”20 Its HIPAA article says “SimplePractice is fully HIPAA compliant.”21
The page around the button is your builder’s. What the builder will sign differs:
- Wix offers a BAA on supported plans: “HIPAA compliance is available with Business, Plus, Elite, Business Elite and Enterprise plans.” Wix recommends that you “do not collect, store, or process any PHI on your Wix site until you have activated PHI protection and completed the BAA signing process.”22
- WordPress.com: a staff reply in its forum says “we don’t offer HIPAA-compliant plans or BAAs on WordPress.com.”23 That is a forum reply from November 2025, not a policy page.
- GoDaddy publishes a BAA, but it is “regarding the Microsoft® 365 email services,” and applies “only to the described Services.” We could not confirm any BAA for its website builder.24
- Squarespace, Showit and self-hosted WordPress: could not confirm. We found no statement on a page we could open. For self-hosted WordPress the answer would come from your host, not WordPress.
What the widget collects matters too. By default SimplePractice requires new clients to give their name, date of birth, email address and phone number, and you can add a credit card requirement and prescreener questions.1225 SimplePractice’s contact form collects name, date of birth, email, phone, gender (optional) and state.16 In our reading, that is more than a generic website form should collect, which is a reason to let the request happen in the scheduler and keep your own contact form short. Our guide on what a therapy contact form should ask covers that form. The page that holds your button can also run analytics or ad tags, which our guide on Google Analytics and HIPAA on a therapy website explains.
This section is general information, not legal advice. Whether your setup meets HIPAA depends on your facts, so check with your compliance advisor, your liability insurer and SimplePractice.
How do I test it, and what do I check if it breaks?
Publish, open the live page in a private window on a phone and a computer, send a real test request, and confirm it arrives in SimplePractice. A preview is not proof: SimplePractice says the Squarespace widget shows only “Once you exit editing mode and refresh the page,” and that Webflow shows a placeholder until you publish.1
- Live page, not preview. Check the button on the published URL. On Showit, make sure it sits on a canvas that is always visible.9
- Mobile. Wix and GoDaddy both say the embed sits in an iframe that may not be responsive, and Squarespace does not guarantee appearance on mobile devices.51917
- The request arrives. Requests submitted through the widget “will appear in your SimplePractice account, where they can be accepted or declined.”1 The person is “notified by email when the provider accepts or declines.”13
- No times show. SimplePractice says a service’s duration and buffer time “must be equal to or less than the availability block’s total duration in order for a time slot to appear for online appointment requests.”12 Also check that Allow requests from new clients is set to Yes.12
- Other settings. If you require a credit card, SimplePractice says you must have an online payments account set up.12 Prescreener customization is only available on Essential and Plus.25
- Domain change. If you ever edit the portal default domain, remove and re-add the widget code.1
For existing clients, SimplePractice says: “If you granted clients access to the Client Portal before enabling online appointment requests, you’ll need to update each client’s permissions individually to Allow online appointment requests.”12 The setting also appears on each client’s profile under Edit client > Client Portal.26 Test once as a new person and once as an existing client.
What can I write on the button and next to it?
Keep the button label plain and add two or three short sentences beside it that say what happens next and what the button is not for. The wording below is yours to change; put your real reply time where the brackets are.
Button: Request an appointment
Next to it: Pick a time from my open schedule and send a request. I review each request myself and reply by email, usually within [your reply time]. If I can’t offer that time, you will hear from me by email.
Already a client? Sign in to your client portal to request a time.
Not for emergencies. If you are in crisis, call or text 988. If you are in danger, call 911 or go to the nearest emergency room.
The email lines match SimplePractice: you accept or decline each request, and the person is told either way.1213 Only promise a reply time you can keep. If you show session fees near the button, our guide on whether therapists should list fees on their website covers it. Keep clinical questions out of the button text. The 988 line comes from the 988 Suicide & Crisis Lifeline, which says you can “Call, text, or chat with a 988 Lifeline counselor” at any hour.27
Questions therapists also ask
Does the widget slow my website?
We could not confirm. Neither SimplePractice’s nor the builders’ pages we opened give load times for the widget. Wix and GoDaddy do say embeds sit inside an iframe, so check the live page on a phone.519
Can I use it on Psychology Today or another directory?
SimplePractice says its widget “is only intended for external websites.” Its page on group-practice links says downloading links is useful for larger group practices that manage them “outside of SimplePractice, such as on external websites, directories, or intake workflows,” and you can share a Client Portal link outside SimplePractice.11411 We did not check any directory’s own rules, so read the directory’s help page first.
Can existing clients book through it?
Depending on your settings, yes, through the Client Portal. SimplePractice’s client help says existing clients may be able to request appointments there, and an existing client who tries the contact form “will be directed to sign in to the Client Portal.”1316 Check each client’s permission, as above.
What if I’m in a group practice?
Each clinician can copy their own widget code, and the practice has a practice-wide link. Clinician-specific links are for group practices on Plus, and the settings page is limited to Account Owners, clinicians with entire practice access and practice managers.14
Can I add booking if I’m not on Plus?
Not the widget. You can still link to your Client Portal, because online appointment requests are included on Starter and Essential.211
Where to start
Start in SimplePractice: confirm your plan, switch on the Client Portal and online appointment requests, then copy your widget code or portal link. Then open your builder’s help page from the table and paste it into the feature it names. This guide doesn’t fit practices that use a different scheduler, and the steps can change whenever SimplePractice or a builder updates its help pages, so check the linked page if a menu name differs.
If you would rather have us build it, we design fully custom websites that connect to the scheduler you already use and collect no health information on the site itself, from $149 a month after a $799 design fee. Find the plan that fits your practice.