All work

Case study · Enterprise SaaS · Supplier management

Supplier Forms Builder + Send Forms

Admins build supplier questionnaires with visible logic and inline validation, then send them to many suppliers without duplicates.

Role
UX designer
Product
Workbench, a CLM platform
Team
PM Sandeep Lalka, product and engineering stakeholders
Platform
Web
Scope
Form builder, conditional logic, validation, send flow
Workbench form builder with a question, three follow-ups nested under When = Yes, and the structure panel

Client branding is removed from all screens. Form names and people shown are demo data.

In 30 seconds

Skim the bold lines and visuals; open "More context" for detail.
Problem
Forms needed specialists, logic was invisible, and bulk sends created duplicates.
My role
UX designer, with PM Sandeep Lalka and product and engineering stakeholders.
What I did
Reviewed five form tools, then designed a single-column builder, visible logic, inline validation and a unified send table.
Result
Admins build and send forms themselves, with errors caught early and no duplicate sends.
~50%faster form builds
0duplicate sends
~60%fewer send errors
Projected · Illustrative
00FrameOverview

Build forms without engineering, then send them safely at scale.

Supplier Forms Builder lets Workbench admins build questionnaires, onboarding, compliance and risk assessments. Send Forms delivers them to many suppliers at once.

More context

Admins change forms without engineering help. Conditional logic hides irrelevant questions, inline validation catches errors early, and the send flow prevents duplicate or wrong sends.

Builder + Send at a glance
Build

Supplier Forms Builder

Are you ISO 9001 certified?YesNoOption 3
When = Yes · 3 questions
Certificate number
Upload certificate
Send

Send Forms

SupplierFormStatus
Supplier AOnboardingNew
Supplier BOnboardingAlready sent
Supplier CRisk assessmentNew
No engineering neededAdmins build and change forms themselves.
Only relevant questionsLogic hides what doesn't apply.
No duplicate sendsConflicts show inline before sending.
01FrameProblem framing

Forms needed specialists, logic was invisible, and bulk sends caused duplicates.

Building a supplier form was slow and depended on specialists. Logic was hard to see and easy to break. Sending forms to many suppliers risked duplicates and confusion.

Problem statement

Procurement admins need to build, check and send supplier forms on their own, because today every change and every bulk send carries a risk of hidden logic errors and duplicate requests.

How might we · 1

Let admins build and change forms without engineering help?

How might we · 2

Make conditional logic visible, so it's hard to break?

How might we · 3

Send many forms to many suppliers with no duplicates or surprises?

02DiscoverResearch plan

We heard from the people who build, send, check and engineer forms.

The plan covered both halves of the job: building a form and getting it to the right suppliers.

One-page research planIllustrative
MethodWhoWhat we wanted to learn
Stakeholder interviewsPM, product and engineering leadsGoals, constraints, technical limits of the form engine
User interviewsProcurement admins, supplier-management leadsHow forms are built, changed and sent today
Compliance interviewsCompliance managersWhat evidence is required and how errors are caught
Competitive analysisFive form toolsLayout, logic, validation and distribution patterns
Send-flow auditExisting Send Forms screenWhere duplicates and wrong sends happen
03DiscoverStakeholder and user interviews

Admins could write questions; logic and bulk sending were the real pain.

We synthesized interviews with procurement admins, supplier-management leads, compliance managers and engineers into five themes.

Affinity mapIllustrative synthesis

Waiting on specialists

Simple changes need a ticket
Forms go stale between releases

Logic is invisible

Can't tell what triggers a question
One edit breaks a branch

Errors found too late

Mistakes surface after saving
Messages don't say how to fix

Bulk sends are risky

Suppliers get the same form twice
Duplicates listed far from the send

Engineering concerns

Hard-coded object names
Logic must stay valid on save

"Changing one question shouldn't need a release."

Procurement admin · Illustrative

"I only find out a branch is broken when a supplier calls."

Supplier-management lead · Illustrative

"We sent the same assessment twice and looked careless."

Compliance manager · Illustrative
04DiscoverCompetitive analysis

Single-column is the standard; Typeform shows logic best.

I reviewed Google Forms, Microsoft Forms, Typeform, SurveyMonkey and JotForm across layout, logic visibility, validation and distribution.

Comparison matrix
LayoutLogic visibilityValidationSend / distribution
Google FormsSingle columnSet per question; no overview of branchesRequired fields and response rulesLink, email, embed
Microsoft FormsSingle columnBranching set per questionRequired fields, basic restrictionsLink, email, QR code, embed
TypeformOne question at a timeVisual logic map: the benchmarkPer field typeLink, embed
SurveyMonkeySingle column, pagedSkip logic per question or pageAnswer validation optionsCollectors that track recipients
JotFormSingle column or cardsConditions listed in settingsField validation typesLink, email, assigned forms
Keep it single-column. It's what admins and suppliers already expect.
Make logic visible. Learn from Typeform: show branches where authors work.
Own the send. None handle many-to-many supplier sends; that's our gap.
05DiscoverPersonas

The admin builds and sends; the supplier only sees what applies.

Sending is a mode of the admin's job, not a separate person, so one persona covers both building and sending.

Persona pairIllustrative
FA

The Form admin

Procurement admin · builds and sends
Goals
Build accurate forms quickly and get them to the right suppliers once.
Frustrations
Waiting on specialists; invisible logic; duplicate sends.
Send mode
Picks recipients and forms, resolves conflicts, sends in bulk.
Success metric
Time from idea to sent form, with zero duplicates
S

The Supplier

Vendor contact filling in forms
Goals
Complete the form fast and correctly, first time.
Frustrations
Irrelevant questions; errors found only on submit; repeat requests.
Needs
Clear requirements and error messages that say how to fix.
Success metric
Completion rate without follow-up emails
06DiscoverCurrent-state journey map

Pain peaks at adding logic and again at sending.

Planning and building felt manageable. Adding logic and sending at scale were where admins lost confidence.

Form admin journey, todayIllustrative
Stage
Plan form
Build
Add logic
Validate
Send
Track responses
Doing
Gathers questions from compliance
Enters questions and options
Requests help with branching
Saves and hopes it works
Picks suppliers and forms separately
Chases missing answers
Feeling
Pain points
Scattered inputs
Tedious option entry
Lowest pointLogic can't be seen
Errors found late
Second lowDuplicates hidden in a separate list
No clear status
07DefineDefine: requirements and priorities

Logic, validation and the send rework mattered most.

Each insight became a requirement. With the PM and engineering we plotted them by impact and effort to sequence the work.

Impact / effortIllustrative placement
Quick winsBig betsFill-insLater Effort →Impact → 1 2 3 4 5 6
  1. 1
    Single-column builder layout
    Quick win: matches the standard
  2. 2
    Visible conditional logic
    Big bet: highest impact on errors
  3. 3
    Inline validation
    Catches errors before save
  4. 4
    Faster option entry
    Ghost-text placeholders
  5. 5
    Dynamic launch parameters
    Object Name, platform-agnostic
  6. 6
    Send Forms rework
    Big bet: removes duplicate sends
08DefineFlows and information architecture

One continuous path from building a form to sending it.

Validation and preview sit before sending, so nothing broken reaches a supplier. Duplicates are resolved inside the send step, not after it.

End-to-end flow
  1. BuildSections and questions
  2. Add logicConditional rules
  3. ValidateInline errors
  4. PreviewAs a supplier
  5. Select recipients & formsOne table
  6. Resolve duplicatesInline warnings
  7. SendConfirmed count
BuilderSend Forms
09DesignExploration and wireframes

Logic lives in a panel; the canvas stays clean and readable.

Putting full rule editors inside the canvas made long forms unreadable. A dedicated panel keeps the canvas single-column. The right panel defaults to Structure and switches to Conditional Rules only when a question's Conditional switch is turned on.

Option A vs Option BRecreated wireframes

A · Inline in canvas

Not chosen

B · Dedicated panel

Chosen

Why B

  • The canvas stays single-column, like every tool admins know.
  • Branches still show inline as a light label, so logic is visible.
  • Full rule editing gets room without crowding the form.
  • Structure is the default, so the panel is useful even without logic.
10DesignFinal design · Builder

A single-column canvas with the whole form outlined beside it.

Questions stack in one column. Answer options use ghost-text placeholders, so adding one is just typing. Object Name is a dynamic launch parameter, so the same form works on any platform object.

Try the working prototype

Browse the forms library, open a form in the builder, and switch between layout and preview.

Password protected. Email me at ramprasadp1304@gmail.com for access. Best on a laptop or desktop screen.
Real screensOpen prototype →
Builder with a single column of question cards, Yes and No options, Add option, and the Conditional switch 1234
  1. Single-column canvasOne question card at a time, expanded for editing.
  2. Fast option entryGhost-text placeholders: type to add the next option.
  3. Conditional switchTurns on logic and opens the rules panel.
  4. Layout / PreviewCheck the supplier view at any time.
11DesignFinal design · Logic and inline validation

Authors see every branch, and errors show while they type.

Branches render under the answer that triggers them and mirror in the Structure panel. Inline validation appears on the field itself, using the exact messages supplied by the PM.

Rule in view + validation statesValidation messages are placeholders
Follow-up questions nested under When = Yes, with the same branch shown in the structure panel 12
  1. Branch in the canvas"When = Yes · 3 questions" names the trigger.
  2. Branch in the outlineThe [= Yes] tag mirrors it in Structure.
DefaultQuestion titleEnter a question
ErrorQuestion title ● Question title is required.
ResolvedQuestion titleAre you ISO 9001 certified?✓ Looks good
12DesignFinal design · Send Forms redesign

One recipients × forms table, with duplicates flagged right where you send.

Before, admins picked recipients, then forms, then scrolled to a separate Duplicates list. After, every recipient-form pair is one row, conflicts show inline, and new rows collapse so attention goes to the exceptions.

Before / afterIllustrative mock
Before3 separate sections
Recipients20
Supplier ASupplier BSupplier C+17
Forms2
OnboardingRisk assessment
Duplicates3Listed separately, below the fold
Send 40 forms?Send
AfterUnified table
SupplierFormStatus
Supplier BOnboardingSent 12 Oct · Skip
Supplier FRisk assessmentSkipped
Supplier KOnboardingIn progress · Skip
37 to send · 3 skippedSend 37 forms
  1. Cross-join table. Every recipient × form pair is a row, so nothing is sent by surprise.
  2. Inline duplicate warnings. Already-sent and in-progress pairs are flagged in place, with Skip.
  3. Collapsed "New" rows. Clean sends fold away; the exceptions stay visible.
  4. Skip-state persistence. Skipped rows stay skipped when filters or selections change.
13ValidateValidation

Testing moved errors earlier and made duplicates impossible to miss.

Six participants completed three tasks: build a form with logic, fix validation errors, and send forms to 20 suppliers.

FindingsIllustrative · 6 participants, 3 tasks
FindingSeverityChange made
Conditional switched on with no rule hid the question in previewHighKeep it visible and warn until a rule exists
Duplicates were missed in a separate listHighInline warnings in the unified table
Errors only appeared after savingMediumInline validation on blur
Adding options felt slowMediumGhost-text placeholder for the next option
Skipped rows reset after changing filtersLowSkip state persists
BeforeErrors listed in a banner after Save.
AfterMessages on the field, as you type.
BeforeDuplicates in their own section.
AfterFlagged in the row you're sending.
Before"Add option" button for every choice.
AfterType into the ghost-text line.
14DeliverHandoff and design system

Built on PDS, with logic and validation rules written down for engineering.

Everything followed PDS: sentence case buttons, Title Case labels, "New" over "Add" or "Create", and brand blue #0170ef. Edge cases and states were documented with the screens.

Spec sheet

Components used

Data tableStatus chipModalQuestion cardToggleStructure treeSide panelRule rowInline errorCross-join table

PDS writing rules

New formSave draft#0170EF
Button: New rule
Button: Add Filter Rule
Label: Object Name
Label: object name

States

Draft / Active / InactiveForm status chips
Unsaved changesHeader chip
Field errorRed border + message
Duplicate sendAmber row + Skip
SkippedGrey chip; persists
Logic and validation note for engineeringValidate a field on blur and again on Save; never block typing. A question with Conditional on and no saved rule stays visible and shows a "No rule yet" warning. In Send Forms, compute duplicates per recipient × form pair and keep each row's Skip state when filters change.
15DeliverOutcomes and learnings

Projected: faster builds, fewer send errors, no duplicate sends.

These are targets, not measured results. They'll be replaced with live data as usage grows.

Expected impactProjected · Illustrative
~50%

Faster form build time

0

Duplicate sends

~60%

Fewer send errors

~40%

Fewer support requests

What I'd do differently
  1. Get the error copy earlierValidation messages shaped the layout; I'd agree them with the PM before high fidelity.
  2. Test sending with real volumesTwenty suppliers was useful; hundreds would test the collapsed rows harder.
  3. Plan form versionsEditing an active form needs version history from the first release.