Integrating Duda into a SaaS platform (2/3)

August 21, 2024
0 minute read

In the first part of this series, we discussed how to generate content-rich websites that are fully populated with data produced by the day-to-day usage of your application. Now that we've covered the initial creation of websites, let's turn our attention to the experience of your users as they navigate between the Duda website builder and your own user interface.


The first step in creating a seamless experience for your customers is to white label the editor's UI and URL, along with the URLs of the sites you build.


White labeling the editor


Before we discuss the actual process of authenticating your users into the Duda website builder, let's take a look at how we can present a branded user interface (UI) as they edit their sites. Duda is the website builder you can call your own, and one of the big reasons for that is our extensive white-labeling capabilities. With the customization options available, you are able to rebrand the editor as an extension of your own product. To get started, log into your account and select “White Label” in the top menu and click “Custom Branding” in the dropdown.



Duda's dashboard, with a mouse hovering over the


When undertaking an integration between Duda and a SaaS platform, the most important white label features to configure are the ones that control how the site editor looks. While options are available for rebranding other components of Duda such as the login screen and dashboard, it's more likely than not that these aspects will be fully controlled by the source application, rather than Duda. We'll cover how we can skip the login screen and, instead, pre-authenticate the user a bit later on. 


To customize the website editor’s branding, switch to the “Editor" tab within the white label page. From here, you'll be able to upload your own logo and customize the colors of text and buttons. For advanced branding work, you can also include your own custom CSS and HTML. As you save your work, you'll be able to see a preview generated of the changes.



White labeling the editor’s URL


Once you have the interface branding in place, there is one important additional step; the domain name your users will see in the browser. By default the Duda site editor URL is going to be some derivative of a generic Duda domain, such as “x.responsivewebsite.com.” 


It's possible to update this to something more branded such as “editor.mydomain.com” or “mydomaineditor.com” by navigating to “White Label” → “Custom Domain” and then selecting the “Dashboard Domain” tab. Keep in mind that you will need to add a CNAME entry to the DNS of whatever domain you choose. The value for this entry is provided on the custom domain page.



White labeling client sites URLs


After the actual website editing experience is branded, we need to think about the publishing experience. Taking a site live is where the entire process comes to a screeching halt for many agencies and SaaS companies. Domain names and DNS can be a complex subject for non-technical people. Many users might not have a domain, or they may have an existing site that is already using their domain. They may even have registered a domain, or had someone register it for them, and never actually set up a website for it.


Regardless of their situation, it can turn into a long process to get these users to update their DNS so it points to their newly created site. To make the publishing process as simple as possible, Duda allows any site in your account to be instantly published under a subdomain of a domain of your choosing. For example, client “1” might end up with a URL like “client1.sites.mydomain.com” or “client1.mydomainsites.com.” Setting up the site’s domain provides a frictionless way to take a site live without having to tie up the user with the intricacies of DNS and domain management.


Once a site is live, it's a perfect time to provide some light-touch support to aid the user in the transfer or registration of a domain. Duda provides unbranded support articles to help your users through the process. In addition, the create site and update site API endpoints allow you to update the domain or subdomain of a site directly from your own application as well, so you can guide your users through the process from your own UI.


With all the options available, you'll be able to ensure your users can go from creation to a published site in record time.



Authenticating users into Duda


With our branding all configured, we're ready to transfer users from your SaaS application to the Duda site editor. To make this process completely seamless, we need to add a couple more API calls to the process we started in the first part of this series. In that post, we discussed making a call to create the website, and another to push data from the SaaS platform into the content library of the new site. Once those calls have been successfully completed, we will make additional calls to create a Duda user account, and then allow that user to access the site.


"Create User" API call


The create user API call allows you to pass the actual user identifier to Duda, and this means you can use the same user ID you use in your own application as the account_name property in the API payload. By matching the IDs, it simplifies future API calls that require user identification, such as our SSO endpoint or granting a user access to a site. Additionally, you should specify an account_type of CUSTOMER in the request body, to distinguish this user from your staff accounts. The body can also contain user metadata such as name and email address.


API call

 

curl --request POST \ 

--url https://api.duda.co/api/accounts/create \ 

--header 'authorization: Basic123abc=' \ 

--header 'content-type: application/json' \ 

--data '{"account_type":"CUSTOMER","account_name":"<unique_user_id>","first_name":"John","last_name":"Doe","email":"john@example.org","lang":"en"}'


Note: API calls require an API username and password to authenticate.


Because you are choosing the user identifier in the call, we will not return it after success. Instead, you will receive a 204 status code with no data in the response body. It's also important to point out that you don't specify or receive any type of password for these users. As we'll see later in this post, we expect any users created via API to authenticate directly from your application through our SSO endpoint instead of navigating to a login page.


"Grant Site Access" API call


At this point in the process, we have successfully created a user in Duda, but they have yet to receive permission to edit a site. The grant site access call will rectify that. With this call, we can specify not only a site to which this user should be given access, but also a list of permissions for that site. Using these permissions, we can provide an extremely simple editing experience, or one that is more complicated but immensely flexible for the user.


API call

 

curl --request POST \ 

--url https://api.duda.co/api/accounts/<unique_user_id>/sites/<site_name>/permissions \

--header 'authorization: Basic123abc=' \ 

--header 'content-type: application/json' \ 

--data '{"permissions":["LIMITED_EDITING","PUBLISH","REPUBLISH"]}'


In this example, we are giving the user access to a specific website by using both the user ID we chose in the previous step, and the site_name we received from our create website API call. By passing in permissions for LIMITED_EDITING, PUBLISH and REPUBLISH, the user will be presented with a very simple editor that only allows them to change existing content. They will not be able to add or delete widgets and content, or add or remove additional pages. A full listing of permissions can be retrieved from the list client permissions API endpoint. Using permissions, it's possible to give different users varying degrees of access to the same site.


Sending users to the editor


With these additional API calls, we have all the pieces we need to allow a user to edit their site. The last step is utilizing the SSO API endpoint to move the user from your SaaS application to the white-labeled editor. 


Within your application's UI, we'll need some sort of "Edit Website" button that appears after a site has been created for the logged in user or organization. This button, when clicked, will issue the call to the SSO endpoint, utilizing the same user identifier you chose in the create user step. The API response will include an editor URL to which you can immediately redirect the browser. 


It's important this call is made at the time of intent — you don't want to make the call to the SSO endpoint on application load and cache the return URL for a long period. The URLs are only valid for a maximum of two minutes for security reasons. It's best to make the call when the user has actually interacted with the button.


In addition to the site name and user ID. You will need to supply a target query parameter. This allows you to deep-link into the Duda application to areas such as the template picker, stats page, or dashboard. In the case of SaaS integrations, you almost always want to send the user directly to the site editor, so we provide a value of EDITOR.


API call

 

curl --request POST \ 

--url --url 'https://api.duda.co/api/accounts/sso/<unique_user_id>/link?site_name=<site_name>&target=EDITOR'

 \

--header 'authorization: Basic123abc='


Below is an example response:


API response

 

{  

"url":"http://example.mobilewebsiteserver.com/home/site/<site_name>?dm_sso=abcde12345"

}



Summing up


So far in this series, we've seen how to programmatically create websites and populate them with content from a SaaS platform. We've also learned how to create users with access to these newly created sites. With Duda's white labeling capabilities, these users will see a fully branded experience, completely unaware they've ever left the source application.



In the final post of this series, we'll talk about the integration of more complex data structures, and automatically generating or removing entire pages of content from a site when a user changes data in your platform. Until then, try creating a few client users either by API or within the Duda application. Change their permission settings to narrow in on the type of experience that would work best for your users.



Jason

Jason Hummel

Director of Solution Engineering, Duda

With over 25 years of web development experience, Jason is focused on providing elegant, usable solutions that follow current industry standards.


Did you find this article interesting?


Thanks for the feedback!
A computer screen with a graph on it and a purple background.
By Santi Clarke April 24, 2025
Learn how platform ecosystems drive revenue and why they are essential for the growth of SaaS businesses.
By Santi Clarke April 24, 2025
One of the greatest challenges for SaaS platforms is keeping users engaged long-term. The term “stickiness” refers to a product's ability to retain users and make them want to return. In the context of SaaS platforms, creating a sticky product means that users consistently find value, experience seamless interactions, and continue using the product over time. The following are 7 practical strategies you can take to improve the stickiness of your SaaS solution. 1. Offer websites that help customers build their digital presence One of the most effective ways to make your SaaS platform sticky is by offering websites to your users. Many businesses today need an online presence, and by providing a platform where your customers can easily build and manage their websites, you increase their reliance on your product. When you offer users a website-building solution, you’re helping them create something foundational to their business. Websites, in this case, aren’t just a tool—they become a part of their identity and brand. This deepens their engagement with your platform, as they need your product to maintain and update their site, ultimately making them less likely to churn. Plus, websites naturally encourage frequent updates, content creation, and customer interactions, which means your users will return to your platform regularly. When you can give your users the tools to create something so essential to their business, you make them more dependent on your platform. This creates a higher barrier to exit, as migrating a fully built website to another service is no small task. In fact, websites are some of the stickiest products you can sell, so adding them to your product portfolio can be one of the best decisions you can to keep your customers using your technology for the long haul. 2. Deliver continuous value through product innovation The key to keeping users coming back to your SaaS platform is ensuring that they consistently see value in it. This means not only meeting their immediate needs but also evolving to address their growing demands. Constant product innovation is essential for keeping your users satisfied and invested in your platform. One way to achieve this is through regular updates that add new features or improvements based on user feedback. A SaaS platform that evolves with its users will keep them engaged longer, making it harder for competitors to steal their attention. Encourage user feedback and prioritize updates that create tangible improvements. This creates an ongoing relationship with your users, which boosts stickiness. 3. Offer a multi-product solution Another powerful way to increase your platform’s stickiness is by offering a suite of products or features that integrate well together. When your users adopt multiple products, they are more likely to stay because they become embedded in your ecosystem. The benefits of this strategy are clear. Research shows that once users adopt more than one product, especially when they integrate >4 tools into their workflow, their likelihood of churn decreases significantly. This happens because the more a user integrates into your suite of products, the harder it is for them to switch to a competitor. These users have invested time in learning your ecosystem and rely on it for their day-to-day operations, making it much harder for them to make the switch. 4. Create a personal connection with your users Human connection is one of the most powerful drivers of user retention. People don’t want to feel like they’re using a cold, faceless platform. By offering exceptional customer support, personalized communication, and community engagement, you build a relationship with your users that goes beyond the product itself. Make sure your support team is responsive, knowledgeable, and empathetic. You can also consider offering tailored onboarding experiences to ensure users understand how to make the most of your platform. When users feel like their success matters to you, they are more likely to remain loyal. 5. Leverage data to personalize the user experience Using data to drive personalization is another strategy that can significantly increase the stickiness of your platform. By tracking user behavior and usage patterns, you can tailor the experience to each individual user’s needs. This could mean recommending features they haven’t yet explored or sending them reminders about tools they may not be fully utilizing. Personalization gives users the feeling that the platform was designed specifically for them, making it harder to walk away from. By demonstrating that you understand their unique needs, you can build a stronger connection and ultimately increase retention rates. 6. Focus on seamless integrations and API capabilities To further increase stickiness, consider expanding your product’s ability to integrate with other tools your users already rely on. Whether it’s email marketing software, CRM systems, or social media management tools, seamless integrations add tremendous value by making it easier for users to incorporate your platform into their existing workflows. The more your product can work in tandem with other popular tools, the more indispensable it becomes. In fact, users who depend on integrations are less likely to churn since their entire ecosystem is tied to your platform’s functionality. 7. Encourage user advocacy and community building User advocacy is another powerful tool in building a sticky product. When users feel a sense of community or even ownership over the platform, they become your most passionate promoters. Encourage your users to share their success stories, join community forums, or contribute to product development through beta testing or feedback loops. A thriving user community not only increases user engagement but also creates a sense of loyalty. When users are part of something larger than themselves, they are more likely to remain committed to your platform, reducing churn and increasing lifetime value. Create deep, lasting customer relationships Making your SaaS platform sticky is all about creating a deep, lasting connection with your users. This requires building a platform that continuously delivers value, creating a seamless and personalized experience, and integrating features that keep users coming back. By focusing on product innovation, offering a multi-product ecosystem, and fostering strong user relationships, you’ll be well on your way to reducing churn and boosting user retention. Stickiness isn’t just a nice-to-have; it’s essential for long-term success. Focus on creating a platform that users can’t imagine living without, and you’ll see them stick around for the long haul.
By Shawn Davis April 24, 2025
Your team is likely pretty familiar with the products they built, but what about the ones they didn’t? Integrated tools can throw a wrench into your support operations, but they don’t have to.
Show More

Latest posts