How to Build a Negotiation Workflow

Back-and-forth estimates and approvals don’t have to mean endless emails. Build one form that automatically moves a service request from submission to estimate to payment.

Build Time & Skill

30 min

Intermediate

What you'll learn

How to build a single service request form that routes a job through submission, estimating, customer approval, and invoicing automatically.

Build a negotiation workflow with a Service Request form.

Every service business knows the drill: a customer submits a request, you email an estimate, they approve it, you schedule the work, then you chase them down for payment. Each handoff is a chance for something to get lost, delayed, or miscommunicated.

A negotiation workflow in Cognito Forms puts the entire process in one place. Instead of managing jobs through scattered emails and phone calls, each party gets a secure link to a form that shows exactly what they need – and nothing they don’t. The workflow moves forward automatically at each stage, without anyone manually tracking Status or forwarding information.

This approach helps you:

  • Reduce back-and-forth emails. Automated notifications move each party to action the moment it’s their turn – no follow-up required.
  • Protect sensitive information. Customers never see your internal estimate details. Technicians never see what the customer was quoted. Each Role sees only their relevant fields.
  • Track every job at a glance. Custom Statuses show you exactly where each service request stands, from the moment it’s submitted to the moment payment clears.
  • Deliver a professional experience. Customers receive clean, branded communications with secure links to review estimates and make payments.

Understanding Your Negotiation Workflow

A negotiation workflow is any process where two parties exchange information back and forth until they reach an agreed outcome, typically a price in the form of a quote or estimate. In Cognito Forms, four components work together to make this happen automatically.

Roles define who participates in the workflow and what they can see or do at each stage. In a negotiation workflow, different people need access to different parts of the form at different times; the customer never sees the internal estimate details, and the technician never sees what the customer was quoted.

Statuses track where each job stands. Your workflow moves through six stages – from the moment a request is submitted to the moment payment clears. Three of those Statuses trigger automatically based on conditions you set, so the workflow advances on its own without anyone manually updating the entry.

Actions are the buttons that move the workflow forward. Just three Actions handle every interaction in this workflow: submitting, updating, and paying. Each one is configured with conditional logic that controls who can use them and when.

Workflow Links are secure, role-specific links included in email notifications throughout the workflow. When a recipient clicks their link, they see the form with exactly the permissions their Role allows.


Step-by-Step Setup of a Negotiation Workflow

The steps below walk you through the process of building a service request workflow with four roles. You’ll set up Roles and Statuses, configure conditional field visibility, and create email notifications that automate the negotiation.

Step 1: Set up Roles

Start by assigning a Role to each person involved in your workflow. Roles are the foundation of your workflow – you’ll reference them in field visibility settings, email notifications, and action logic throughout the rest of the process.

  1. Open your form and navigate to Workflow on the Build page.
  2. Click Roles.
  3. Add the following Roles:
Role Role Type Who It Represents
Customer Public The person who submits the service request and approves the estimate.
Estimator Other The person reviewing the request and providing a cost estimate.
Technician Other The person completing the work and submitting the invoice.
Internal Internal Admin access to view and manage all entries.

Assign a Role to each person in your workflow.


Step 2: Build your form sections

Your service request form is organized into six sections. Each section belongs to a specific stage of the workflow, making it easy to control which Role sees what (and when) with section-level field settings.

Quick Tip

Want a head start? Save our pre-built Service Request template and customize it to fit your needs.

On the Build page, create the following sections in order:

  • Customer Information – Name field, Email field, Phone field, Address field
  • Choose a Service – Choice field for service type, Textbox field for issue description
  • EstimateRepeating section for parts and labor line items, Number fields for individual costs, Calculation field for the total, Signature field for the Estimator
  • Estimate Approval – Signature field for the Customer, Date field
  • Invoice – Table fields for materials/parts and labor (Currency field for cost, Number field for quantity, Calculation field for amount), Currency fields for subtotal and tax, Price field for the total, Signature field for the Technician
  • Work Completed Approval – Signature field for the Technician, Date field

Add a section to collect the customer's signature.


Step 3: Set up Statuses

Statuses track where each service request is in the workflow. You’ll use them to control field visibility, trigger automatic transitions, and filter your entry views.

  1. In Workflow, click Statuses.
  2. Add the following Statuses in order:
Status What It Means
Incomplete Default Status — request has not been fully submitted yet.
New Customer has submitted the service request.
Estimate Pending Estimator has provided an estimate to the customer.
Estimate Approved Customer has approved the estimate.
Awaiting Payment Technician has completed the work and invoiced the customer.
Closed Payment has been made and the workflow is complete.

Next, configure three of these Statuses to trigger conditionally. For each one, open the Status and set Automatically Assign Status to When, then apply the following conditions:

Status Condition
Estimate Pending Estimator’s signature is filled out AND entry Status is New: =(Estimate.EstimatorsSignature.Svg != null and Entry.Status = "New")
Estimate Approved Customer’s signature (Estimate Approval section) is filled out AND entry Status is Estimate Pending: =(EstimateApproval.CustomersSignature.Svg != null and Entry.Status = "Estimate pending")
Awaiting Payment Technician’s signature is filled out: =(Invoice.TechniciansSignature.Svg != null)

These automatic Status transitions are what make the workflow feel seamless. As soon as the estimator signs off, the entry moves to Estimate Pending and triggers the customer notification – without anyone manually changing the Status.

Configure the Estimate Approved Status to trigger based on conditions.


Step 4: Configure field visibility by Role and Status

This is where the conditional logic for your negotiation process comes to life. Each section needs two settings configured: Read-Only (who can’t edit it) and Show This Section (when it appears). This ensures each person sees only what’s relevant to their Role – and only at the right stage.

Select each section and apply the settings below:

Set the section to read-only for the Estimator and Technician Roles.


Step 5: Configure Actions and email notifications

Three Actions handle every interaction in this workflow. Each one needs specific conditions and email notifications so the right person is notified at the right time.

Submit action

The Submit Action handles two moments: the customer’s initial request submission and the estimator’s submission of the completed estimate back to the customer.

  1. Open the Submit Action in Workflow > Actions.
  2. Under Allow Action, select When and set the condition: =(Entry.Status = "Incomplete").
  3. Under Change Status To, select New.
  4. Under Send Emails, create two email notifications:
    • Email 1 – Customer Confirmation: Use Insert Field to pull the customer’s email from the form. This confirms their request was received.
    • Email 2 – Estimator Notification: Set To to the estimator’s email address. Click Share Workflow Link and select the Estimator Role. This gives the estimator a direct link to review the request and provide an estimate.

Use Insert Field to pull the customer's email from the form.

Quick Tip
The Estimator Workflow Link is Role-specific. When the estimator clicks it, they see the form with Estimator permissions, including access to the Estimate section. The customer will never see those fields.

Update action

The Update Action is used by multiple Roles at different stages – the estimator submits the estimate, the customer approves it, and the technician submits the completed invoice. Conditional logic handles who sees it and when.

  1. Open the Update Action in Workflow > Actions.
  2. Under Allow Action, select When and set the condition: =(Entry.Status != "Incomplete"). This ensures only fully submitted requests can be updated.
  3. Under Send Emails, create three conditional email notifications:
    • Email 1 – Customer (Estimate Ready): Use Insert Field to pull the customer’s email. Click Share Workflow Link and select the Customer Role. Under Send, select When and set the condition: =(Estimate.EstimatorsSignature.Svg != null and Entry.Status = "Estimate pending").
    • Email 2 – Estimator/Service Department (Estimate Approved): Set To to the service department’s email. Click Share Workflow Link and select the Technician Role. Under Send, select When and set the condition: =(EstimateApproval.CustomersSignature.Svg != null and Entry.Status = "Estimate approved").
    • Email 3 – Customer (Invoice Ready): Use Insert Field to pull the customer’s email. Click Share Workflow Link and select the Customer Role. Under Send, select When and set the condition: =(Invoice.TechniciansSignature.Svg != null and Entry.Status = "Awaiting payment").

Send the Estimate Ready email to the customer when certain conditions are met.


Pay action

The Pay Action appears only after the technician has completed the work and submitted the invoice.

  1. Create a new Action and name it Pay.
  2. Under Allow Action, select When and set the condition: =(Entry.Status = "Awaiting payment").
  3. Under Change Status To, select Closed.
  4. Under Send Emails, create one email notification:
    • Email 1 – Customer Receipt: Use Insert Field to pull the customer’s email. Set to send Always. Check the Receipt box under Include.

Include a receipt in the payment confirmation email.


Step 6: Configure payment

The last setting is key: payment should only process after the technician has completed the work and signed off.

  1. Open Payment Settings on the Build page.
  2. If you haven’t already, connect your payment processor. See our help guide for more details.
  3. Under Process Payment?, select When and set the condition: =(Entry.Status = "Awaiting payment").

Process payment based on the entry Status.

Connect Your Payment Account

Before configuring payment settings, you’ll need to connect a payment processor to your account. See our help guide for step-by-step instructions.


Real-World Examples

A negotiation workflow fits any service business where work can’t begin until a price is agreed upon. Here are three common scenarios where this setup works well:

HVAC and Home Services. A homeowner submits a repair request describing the issue. The estimator reviews the request, assesses the parts and labor involved, and sends back a quote for the customer to approve. Once the customer signs off, the technician is notified and schedules the visit. After completing the repair, the technician submits the invoice and the customer pays directly through the form.

IT and Managed Services. A business submits a support request outlining the scope of work needed. The estimator reviews the request and sends a project quote for the client to approve. Once approved, the assigned technician completes the work and submits the invoice. The client pays through the form and the request is closed – all without a single email thread.

Landscaping and Lawn Care. A homeowner submits a service request for a seasonal cleanup or landscaping project. The estimator scopes the job and sends a quote with a breakdown of materials and labor. Once the customer approves, the crew completes the work, submits the invoice through the form, and the customer pays. The entire job (from first contact to final payment) is tracked in one place.


Advanced Workflow Techniques

Once your core negotiation workflow is running, these techniques let you handle more complex scenarios and edge cases.

Add an estimate revision loop. If a customer rejects an estimate, you can route the entry back to the estimator for revision. Create a “Reject Estimate” action available to the Customer Role when the Status is Estimate Pending. Configure it to change the Status back to New and notify the estimator with their Workflow Link so they can revise and resubmit.

Use Task Views for internal tracking. Set up a Task View filtered by Status for your internal team so they always see which jobs are waiting on an estimate, which have been approved, and which are awaiting payment — without digging through entries manually.

Auto-generate estimate and invoice documents. Use Document Templates to automatically produce a professional PDF of the estimate or invoice when the relevant Status is reached. Attach it directly to the email notification so customers receive a formatted document alongside their Workflow Link.


Additional Features to Enhance Your Workflow

These Cognito Forms features pair naturally with a negotiation workflow to add polish and control:

  • Guest Access – Give customers access to your organization’s portal so they can log in and view their service request directly, without needing a Workflow Link email.
  • Audit Log – Track every change made to an entry, including who signed what and when – useful for disputes or compliance needs.
  • Task Reminders – Set up automated reminders to nudge customers who haven’t approved their estimate or completed payment within a set timeframe.
  • Document Templates – Auto-generate branded estimate and invoice PDFs directly from form data, eliminating manual document creation.

Start Building Your Negotiation Workflow Today

A negotiation workflow turns a messy, multi-email process into a clean, automated system where every party knows exactly what to do next. With Roles, Statuses, and conditional notifications all working together, you spend less time chasing approvals and more time completing the work. Start with the Service Request template and customize it to fit how your business operates.

Template

Service Request

  • Collects estimate approvals, signatures, and payments all in one place
  • Automatically notifies customers, estimators, and technicians at each step
  • Fully customizable to fit your existing workflow
Use this Template

FAQ