header-mobile-bg

How to Integrate an Online Form Service with Studio Hub

Because many of our customers use forms on their websites, and there are different approaches to producing these using CoreMedia, I want to explore on how to integrate an online form service with CoreMedia Studio Hub in this post.

Because many of our customers use forms on their websites, and there are different approaches to producing these using CoreMedia, I want to explore on how to integrate an online form service with CoreMedia Studio Hub in this post.

Use cases for this integration are:

  •     browsing existing forms in the service
  •     creating a reference to a form within the CoreMedia repository
  •     integrating the form into a website
  •     retrieving form submissions

The first thing to do is to select a form service. For my purposes, I used two criteria: First, the service had to provide an adequate API. And second, they had to have a free option.

There are lots of options out there and also most marketing automation tools also provide form capabilities. I selected Typeform, set up an account, chose a form template from the library, set up an access token, and was ready to go.

Screenshot Studio Form

Screenshot Studio Form

Now that I had an account, an API, and an access token, I was able to start implementing a Typeform connector.

The first thing I needed was a REST client that interacted with the API and retrieved the relevant information for Studio Hub. I started with Postman, which is great for testing a REST API and to experience how authentication works, how to post requests, and to analyze the format of the responses.

Along with the associated API documentation, I was able to implement the required POJOs, a client class, and a unit test to make sure the requests work. With just four classes, I was able to retrieve the following forms from the service:

  •     Form.java
  •     Forms.java
  •     TypeformConnectorClient.java
  •     TypeformConnectorClientTest.java

The test class was created to verify that I could retrieve a list of all my forms - as well as a specific form.

Spring REST templates make it easy to post a request and to assign the result to a POJO, like so:


public Form getForm(String id) {
 ResponseEntity<Form> formResponseEntity =
restTemplate.exchange("https://api.typeform.com/forms/" + id, HttpMethod.GET, createAuthEntity(), Form.class);
 if (!formResponseEntity.getStatusCode().equals(HttpStatus.OK)) {
 return null;
 }
 return formResponseEntity.getBody();
}

The next step was to implement the necessary classes for a Studio Hub Connector, which are composed of just three classes:

  •     TypeformConnectorService.java – The entry point for the integration, which pulls everything together
  •     TypeformCategory.java – With this integration, we just need a root category as all forms can be listed there
  •     TypeformItem.java – Represents a specific form within Typeform

Once the classes are implemented, you need to configure the connector in Spring and in Studio. After that, you can see your forms right in the Studio Hub.

Screenshot Studio Form

Screenshot Studio Form

To create a reference for a form in the content repository, you need a WriteInterceptor that extracts the relevant information from the form and assigns it to content properties. This is done in the TypeformItemWriteInterceptor.

Unfortunately, Typeform does not provide the HTML embed code via the API, so I got it via the web interface and converted it to a template that could be added to the connector configuration. With the WriteInterceptor in place, you can now right-click on a form and create a HTML content object within the CoreMedia content repository.

Screenshot Studio Form

Screenshot Studio Form

Within the preview, the embedded form is immediately rendered and can now be tested.

As a final step, I added the capability to download the form submission in the Studio Hub. You can right-click on a form and select “Download.” This will retrieve all submissions from the API and put them into CSV file, which than is downloaded to your local hard drive.

The code still needs some cleanup and additional documentation, but with the CoreMedia Studio Hub I was able to implement this integration in less than three hours. It shows how easy it is to integrate powerful forms services quickly and easily!

If you're interested in this integration, please feel free to reach out to me: karsten.reuter@coremedia.com. I look forward to hearing from you.

Kartsten Reuter, SVP Product Management

Karsten Reuter

Introducing In-Preview Editing for CoreMedia Content Cloud

Introducing In-Preview Editing for CoreMedia Content Cloud

Edit content directly in the preview with the In-Preview Editing Extension — no tab switching, no guesswork. Just fast, intuitive updates that...
Sebastian Buettner profile

Sebastian Büttner

LLMs changed the rules of search How to succeed in Generative Engine Optimization (GEO) with CoreMedia

LLMs changed the rules of search: How to succeed in Generative Engine Optimization (GEO) with CoreMedia

Search optimization isn’t about climbing rankings anymore. It is about being part of an AI-generated answer.
Digital accessibility is no longer optional_article

Digital accessibility is no longer optional: How the European Accessibility Act redefines inclusion

Starting in June 2025, the European Accessibility Act (EAA) will come into force across the European Union, setting minimum accessibility...
Mariana Gaspar

Mariana Gaspar

Soeren presentation at connect 2025

Is your CX as smart as you think? Sören Stamer on leading the intelligent CX revolution

At CoreMedia Connect & Partner Engage 2025, CoreMedia’s CEO and Co-Founder Sören Stamer took the stage with a bold promise: to challenge...
Mariana Gaspar

Mariana Gaspar

Connect and Partner Engage 2025

The Intelligent CX Revolution: Highlights from Connect & Partner Engage 2025

On May 15, 2025, digital innovators, business leaders and strategic partners met at the Kehrwieder Theater in Hamburg for CoreMedia’s annual...
Mariana Gaspar

Mariana Gaspar

Customer profiles: How to build and use them for smarter personalization

Customer profiles: How to build and use them for smarter personalization

Why do some brand interactions feel effortless, like they were made just for you, while others fall flat? The answer often lies in how well a...
Mariana Gaspar

Mariana Gaspar

CoreMedia now

29 years of CoreMedia: A story of curiosity, code and (a little) chaos

From a tiny corner office with green floors and controversial furniture to powering digital experiences for the world’s leading brands.
Mariana Gaspar

Mariana Gaspar

Enhancing digital experiences with location-based personalization

Enhancing digital experiences with location-based personalization

People are tired of one-size-fits-all marketing. These days, they expect brands to know them and to understand what they like, need and care about.
Sebastian Buettner profile

Sebastian Büttner

CoreMedia Girls Day 2025 Feature

Empowering the next generation of women in tech: Celebrating Girls' Day at CoreMedia

Our Hamburg office was buzzing with energy because it was Girls' Day today! This nationwide event gives teenage girls the chance to discover...
white female barbara eigner

Barbara Eigner

The hidden costs of cloud dependence_Why your CMS hosting choice matters

The hidden costs of cloud dependence: Why your CMS hosting choice matters

Moving everything to the cloud has been advertised as a no-brainer for years. Many organizations have defaulted to hyperscalers, U.S. cloud...
Soeren Stamer ceo white male glasses

Sören Stamer