Back to blog

OK Flows: forms, journeys, and Salesforce with more intent

Editorial image for OK Flows: forms, journeys, and Salesforce with more intent

Some forms only collect data. Others are part of a campaign, a journey, a customer experience, and a real marketing operation. From the outside the difference can look small. Inside the system, it changes everything.

OK Flows comes from that second idea. Not a pretty form builder with draggable fields, but an interaction layer for teams working with Salesforce Marketing Cloud, audiences, Data Extensions, CloudPages, prefill, partial responses, and campaign logic.

The form as a product

When a form lives inside a campaign, it stops being an isolated page. It needs to know where the person comes from, which data already exists, what can be shown, what should stay hidden, and what happens after submission.

That is where a flat builder becomes too limited. Adding an email input, a dropdown, and a button is not enough. You need an editor that can build an experience, preview it, publish it, and connect it to real data without making every campaign a one-off custom piece.

That is why I think of OK Flows as a product. It has marketing, authentication, dashboard, builder, public runtime, and internal operations. Each surface has a job. The editor is not the same as the player. Logic is not the same as integration. Visual design is not the same as data delivery.

Layers that matter

The visible layer is the builder: canvas, inspector, preview, block library, inline editing, options, CTAs, theme, and publishing. But the interesting part is how that connects to what sits underneath.

A serious form needs simple blocks and complex blocks. Text fields, email, and phone, yes. But also hidden fields, hidden JSON, calculated fields, file uploads, ranges, address, contact, availability, allocations, or semantic differential when a campaign needs them.

It also needs logic. Not only "if answer A then show B", but simulation, condition audit, visibility rules, and safeguards before publishing broken journeys. In marketing automation, a bad condition is not a small technical detail. It can affect an entire audience.

Prefill without exposing too much

Personalization is one of the most delicate parts. It is tempting to put data in a URL and move on. But if PII or sensitive information is involved, that becomes risky quickly.

That is why secure prefill matters. Opaque tokens, JWT, expiration, access rules, server-side resolution, and control over what the runtime receives. The user feels the experience is prepared for them, but the campaign is not leaking unnecessary data along the way.

This is the kind of detail that separates a demo from a system. The demo shows prefilled fields. The system thinks about security, expiration, audit, and operations.

Salesforce Marketing Cloud is not just another plugin

Connecting with SFMC is not only "send a response". There are Data Extensions, mappings, CloudPages, delivery logs, payload snapshots, delivered/failed states, and sometimes audience prefill runs that prepare personalized URLs for large campaigns.

That flow needs to be visible to the people operating it. If something fails, it cannot stay hidden in a console. The team needs to know what was sent, when, with which mapping, and where it went.

Good integration does not disappear because it is simple. It disappears because it is designed well.

Partial responses and recovery

Another important point is accepting that people abandon. Instead of treating that as invisible failure, the system can capture partial progress, understand where people drop, and support recovery without breaking the experience.

That opens useful possibilities for long campaigns, multi-step forms, or experiences where each answer has value even without a final submit.

Closing

The lesson from OK Flows is simple: a form can be infrastructure. It can connect brand, data, automation, UX, and operations. But for that to work, it needs to be designed as a product, not as a list of fields.

That is the kind of work I care about: pieces that look simple from the outside, but have judgment, order, and a clear reason to exist inside.

Next project

If your website no longer represents what you do, it is time to rebuild it with intention.

Start a conversation