BuiltEmail workspace

Financing application acknowledgement — applicant

Source: App\Mail\FundsRequestConfirmation, app/Mail/FundsRequestConfirmation.php. The original generic body is resources/views/emails/loan-offers/FundsRequestConfirmation.blade.php using mail::message. When service.id == 7, source selects resources/views/emails/loan-offers/fido-template.blade.php using mail::layout, mail::button and mail::panel. Preserve case-sensitive source paths and the loose source comparison semantics.

Subject: Your Application for cash advance (unchanged).

Suggested preheader: Your application for {{business_name}} was submitted to {{provider_name}}.

Portable values

TokenExisting source / derivationHandling
{{first_name}}request.personal_info['first_name']Required escaped applicant greeting.
{{business_name}}request.business_details['business_name']Required escaped applicant-supplied business identity.
{{provider_name}}service.nameRequired escaped provider, not Built by default.
{{provider_phone}}service.tel_numberRequired source row; escape even if supplied empty. Do not invent a support value.
{{provider_email}}service.business_emailRequired source row, escaped text; same native source supplies Reply-To independently. No invented mailto/button.
{{fido_app_url}}Fixed https://fido.smart.link/3c5c7t03vRequired only for the Fido section. Validate approved HTTPS smart-link host/path separately, preserve full original URL. It opens an external app download destination.
{{app_name}}config('app.name')Required original Regards sign-off.
{{preheader}}Suggested submission summary aboveRequired escaped text, without approval or timing claims.

The default Built logo/optional {{logo_url}} and shared badge CID/HTTPS requirements follow [shared-footer](../shared-footer.md). Original Built app badges in the Fido footer are now supplied by the common footer. They do not replace the distinct Fido download action.

State contract

The portable HTML contains a clearly marked Fido-only next-steps section, with matching markers in text. Retain the entire instruction/button/context/fallback section only when original service.id == 7; remove it completely for other services. Preview is_fido is adapter state, not a new printed token or application setting. Generic confirmation must have no invented workflow button. Common applicant/business/provider/contact/sign-off content remains in either state.

The instruction “Please download the Fido app to complete your loan application” remains inside the email, not just behind a link. Button and fallback share fido_app_url. The generic source says the applicant will be contacted shortly; the draft removes that unsupported timing promise while preserving submission and provider contact details. No approval, eligibility, processing time, payout, credit or funding guarantee is added.

Five fictional states cover generic, Fido, supplied empty contacts and long values for each provider branch. Empty contacts retain the original rows rather than changing a native validity/visibility policy. Missing required source values or invalid native Reply-To must be handled as an explicit consuming-project decision, not silently replaced with footer support contacts.

Trigger, routing and headers

OffersController::register at :181 queues the Mailable to FundRequest.personal_info.email with the existing internal BCC after FundRequest/PartnerBusinessReference creation and the provider notice queue call. Route POST requestfunds is at routes/api.php:1449. The data keys business/service/request are passed to the native view. Preserve the validation, stored application data, ordering and error paths.

Reply-To explicitly uses service.business_email; no From override is set. Preserve native configured sender, subject, queue() and BCC/recipient policy. Service ID 7 also invokes a separate SMS with Fido instructions; do not change or count it as another email type. No business attachment/PDF is configured. Source branches are one notification type with two meaningful bodies, not two designs counted as separate emails.

Integration and safety

Use this Mailable with a full HTML Blade view and separately registered proposed plain-text alternative. Portable {{placeholder_name}} tokens are not automatically Blade; keep the service branch in native Blade rather than introducing a framework. Escape all dynamic text/attributes, validate Fido/image URLs separately and use one pass for replacement. There are no separate legacy duplicate link fields: button and fallback are the same Fido destination.

Files: public/ready/financing-application-confirmation.html/.txt and previews/financing-application-confirmation-*.html/.txt. No separate project-owned text source found. No actual Fido download, application submission, provider contact or email send occurs here. Browser checks do not prove external app availability, approval, actual client compatibility, CID delivery or production delivery.