Skip to main content

How to build a service cost estimator that emails clients a price breakdown in Formaloo

Learn how to build a service cost estimator that collects project details, generates an AI-powered cost estimate instantly, and emails clients a personalized price breakdown on submission, all without manual quoting.

By the end of this guide, you'll have a client-facing project intake form that collects service details, runs an AI-powered cost estimation on the ending page, and automatically emails the client a personalized price breakdown the moment they submit. Your team also gets the same email, so nothing falls through the cracks. No spreadsheets, no back-and-forth, no manual quoting.

When to use this

  • You quote projects manually and the process eats hours you don't have

  • Clients submit vague briefs and you spend days clarifying scope before you can price anything

  • You want clients to receive an instant, professional estimate while your team reviews the full inquiry

  • Your sales pipeline lives in a spreadsheet and you've outgrown it

  • You're running a design, development, or marketing agency and want to look sharper on first contact

Step-by-step

Step 1: Create the form

In this step, you build the client-facing intake form. Formaloo's magic create lets you generate the entire form from a prompt in seconds — then you just verify the field IDs are set correctly, because those IDs are what power the AI estimation and email piping in the steps that follow.

  1. From your Formaloo dashboard, click + New and select Form.

  2. Name the form "Service cost estimator."

  3. Click the magic wand icon (magic create) and paste the following prompt, then hit Create:

    Make this form: Form Fields — Service Cost Estimator (Digital Agency)  Question 1: What's your full name? ID: client_name Field Type: Short Text Notes: None  Question 2: What's your email address? ID: client_email Field Type: Email Notes: None  Question 3: What's your company or brand name? ID: company_name Field Type: Short Text Notes: None  Question 4: What type of service are you looking for? ID: service_type Field Type: Single Choice Notes: Design, Web Development, Marketing, Branding, Full Package  Question 5: What are you trying to achieve with this project? ID: project_goal Field Type: Long Text Notes: None  Question 6: Who is your target audience? ID: target_audience Field Type: Short Text Notes: None  Question 7: How big is the project scope? ID: project_scope Field Type: Dropdown Notes: Small (1–2 weeks), Medium (1–2 months), Large (3+ months)  Question 8: What deliverables do you expect? ID: deliverables Field Type: Long Text Notes: e.g. logo, 5-page website, ad creatives  Question 9: What's your ideal deadline? ID: deadline Field Type: Date Notes: None  Question 10: What's your budget range? ID: budget_range Field Type: Dropdown Notes: Under $1k, $1k–$5k, $5k–$15k, $15k–$50k, $50k+  Question 11: Anything else we should know? ID: notes Field Type: Long Text Notes: Optional  Question 12: Quote Status (admin only) ID: quote_status Field Type: Dropdown — Admin Only Notes: Quote Shared, Waiting for Feedback, In Negotiation, Completed, Cancelled

Formaloo generates the form, like this:

Field

Field ID

Type

Options

What's your full name?

client_name

Short text

What's your email address?

client_email

Email

What's your company or brand name?

company_name

Short text

What type of service are you looking for?

service_type

Single choice

Design, Web Development, Marketing, Branding, Full Package

What are you trying to achieve with this project?

project_goal

Long text

Who is your target audience?

target_audience

Short text

How big is the project scope?

project_scope

Dropdown

Small (1–2 weeks), Medium (1–2 months), Large (3+ months)

What deliverables do you expect?

deliverables

Long text

What's your ideal deadline?

deadline

Date

What's your budget range?

budget_range

Dropdown

Under $1k, $1k–$5k, $5k–$15k, $15k–$50k, $50k+

Anything else we should know?

notes

Long text

Quote status (admin only)

quote_status

Dropdown

Quote Shared, Waiting for Feedback, In Negotiation, Completed, Cancelled

💡 Field IDs power the AI prompts and email piping in the next steps. If any ID doesn't match exactly, click the field, open Settings on the right, and correct it before moving on.

Step 2: Add an AI cost estimator to the ending page

In this step, you replace the default ending page with an AI block that reads the client's form submission and generates a personalized cost and timeline estimate. The client sees this the moment they hit submit — no wait, no follow-up needed.

  1. In the form editor, click Ending page at the top.

  2. Select the first ending page and delete all existing content blocks.

  3. Type /ai to open the AI content builder, then select AI smart content.

  4. Paste the following prompt exactly:

    You are a friendly, professional digital agency assistant. A potential client just submitted a project inquiry. Based on their answers, write a warm, beautifully formatted HTML response that feels personal and encouraging.  Here is what they submitted: - Name: @client_name - Company: @company_name - Service requested: @service_type - Project goal: @project_goal - Target audience: @target_audience - Scope: @project_scope - Expected deliverables: @deliverables - Deadline: @deadline - Budget range: @budget_range - Additional notes: @notes  Do the following in order:  1. Warm greeting — Address them by first name. Make them feel welcomed and excited about working together.  2. Project understanding — In 2–3 sentences, reflect back what you understood about their project. Show you actually read it.  3. Estimation — Based on the scope, deliverables, and budget range, provide a realistic cost and timeline estimate. Give a range (e.g. $3,000–$6,000 / 3–5 weeks). Be honest but optimistic. If the budget seems tight for the scope, gently note it without being discouraging.  4. Next steps — Tell them the team will review and be in touch shortly. Keep it warm and action-oriented.  Format the entire response as clean, beautiful HTML. Use a modern layout: clear headings, subtle section dividers, readable font sizes. No raw CSS frameworks — use inline styles. Keep it concise, human, and agency-quality. Do not include html, head, or body tags — just the inner content.

Step 3: Set up the email template and notifications

In this step, you create the AI-powered email template and connect it to both outbound notifications: one to your team so you always know when a new inquiry lands, and one to the client so they receive their personalized price breakdown immediately after submitting. Both use the same template.

Create the email template

  1. Click your profile icon in the top-right corner and go to Apps & integrations.

  2. Select Custom email templates and click + New template.

  3. Name the template "Cost estimator."

  4. Delete all default content from the template body.

  5. Click the AI block inside the template editor and paste the following prompt:

You are a warm, professional digital agency assistant writing a follow-up email to a client who just submitted a project inquiry. The email should feel handcrafted, not automated — like it came from a real person on the team.  Here is what they submitted: - Name: @client_name - Company: @company_name - Service requested: @service_type - Project goal: @project_goal - Target audience: @target_audience - Scope: @project_scope - Expected deliverables: @deliverables - Deadline: @deadline - Budget range: @budget_range - Additional notes: @notes  Write a complete email in HTML format structured as follows:  1. Subject line (include it as an h4 at the top, labeled "Subject:"): Make it personal and specific to their project — not generic.  2. Opening — Greet them by first name. Thank them genuinely for reaching out. One or two warm sentences.  3. What we understood — Summarize their project in 2–3 sentences. Show you listened.  4. Our estimation — Provide a realistic cost range and timeline estimate based on their scope, deliverables, and budget. Give a range. If budget and scope seem misaligned, acknowledge it kindly and offer to explore options together.  5. Why we're a great fit — 2–3 sentences. Be confident but collaborative, not salesy. Focus on the client's success.  6. Next steps — Let them know what happens next (e.g. a discovery call, a formal proposal). Keep it clear and inviting.  7. Sign-off — Warm, professional. End with the agency team name or a placeholder like [Agency Name].  Format the entire email as clean, elegant HTML with inline styles. Think agency-quality: modern typography, clear spacing, a subtle color accent (use #4F46E5 as the brand color). Do not include html, head, or body tags — just the inner email body content.

Optionally, toggle Attach PDF and select a PDF template if you want a formatted quote attached to the email, then Click Save.

📖 For a full walkthrough on building custom email templates, see How to create and send custom email templates.

Connect notifications to the form

  1. Go back to your form and open the Notify tab.

  2. Under Receive email notification, toggle it on, enter your team's email address, and set Email template to Cost estimator.

  3. Under Send email to respondent, toggle it on, set the respondent email field to client_email, and set Email template to Cost estimator.

  4. Click Publish.

Both you and the client now receive the AI-generated price breakdown the moment the form is submitted.

Step 4: Set up the client portal and admin pipeline view

In this step, you turn the project into a portal with two separate spaces: one for clients to log in and track their own submissions, and one for admins to manage all inquiries through a Kanban pipeline grouped by quote status. Each admin only sees records assigned to them.

  1. Go to your project, enter Edit mode, and click Settings.

  2. Enable Client portal and click Manage users.

  3. Click New user directory and follow the setup steps. When prompted to connect a form, select your service cost estimator form. Click Finish setup.

  4. Back in the portal editor, click User roles. Rename the default role to Clients and create a second role named Admins.

  5. Add a new page group, name it Clients, and set Page access to the Clients user role.

  6. Inside that page, add a Table block connected to your service cost estimator form. Open the block's Options, click Manage access, and set the profile access dropdown to Profile so each client only sees their own form submissions. Optionally enable Allow user to edit their data.

  7. Add a second page group, name it Admins, and set Page access to the Admins user role.

  8. Inside that page, add a Kanban block connected to the same form. Group it by the quote_status field. Open the block's Options, click Manage access, and set access to Assignee so each admin only sees records assigned to them.

  9. Click Publish.

📖 For a full walkthrough on portals and user access, see How to create a portal and manage users' access.

What you've built

You now have a fully automated quoting system. Clients fill in one form, get an instant AI-generated cost estimate on-screen, and receive a professional price breakdown by email. Your team gets the same email and can track every inquiry through a Kanban pipeline, moving deals from Quote Shared through to Completed or Cancelled. Clients log into the portal to check their submission status without sending a single follow-up email.

What's next

Two ways to take this further once the core workflow is running:

  • Automated status update emails. Create a second custom email template designed for record updates — for example, to notify the client when their quote status changes to In Negotiation or Completed. Set it up in Apps & integrations > Custom email templates, then attach it to an On Update logic rule on the quote_status field. The client gets a timely, on-brand update every time your team moves their deal forward.

  • AI agent on the form. Assign a Formaloo AI agent to this form and connect it to your email template. The agent can answer client questions about their submission, respond to follow-ups, and handle common queries automatically — without your team lifting a finger. It's a full AI-powered concierge layer on top of the quoting workflow you've just built.

Ready to build this?

🚀 Use this template Start in minutes with a pre-built version of this workflow.

💬 Get help from our concierge team Our team will help you set this up for your specific use case.

📅 Book a demo for Team/Enterprise setup See how teams use Formaloo at scale with advanced permissions and integrations.

Did this answer your question?