Greensky - Merchant Onboarding

Configure a Greensky connection and board merchants for B2B2C consumer lending.

Overview

Greensky is a B2B2C lending provider that lets merchants — typically home-improvement contractors — offer point-of-sale financing to their customers. Boarding a merchant onto Greensky through Preczn takes three steps:

  1. Configure the connection — add your Greensky credentials once, at the platform level.
  2. Configure the boarding form — enable the Greensky-specific fields, owners, contacts, and terms.
  3. Board the merchant — submit the form, then track status as Greensky returns it by webhook.

For the connection basics, see Greensky. For general boarding, see Boarding Forms and Multi-Connection Boarding Forms.

Configuring the Connection

Go to Connections → Add Connection and select Greensky. Four fields are available; two are required.

Dashboard fieldRequiredDescription
Channel✅ YesYour Greensky-assigned channel identifier.
API-Key✅ YesUsed to validate existing Greensky merchant IDs.
Authorization KeyNoNot used for Greensky. Leave blank.
ProgramNoOptional program identifier.

ℹ️ Where does the Channel value come from?

Greensky provides your Channel value — reach out to Greensky support if you don't have it.

ℹ️ Why the API Key matters

Preczn uses the API-Key to call Greensky and validate an existing Greensky merchant ID when you link credentials. Without it, existing-merchant validation fails.

Click Verify and Save to store the connection.

Configuring Boarding Forms

Greensky requires several fields that are not enabled by default. When you build a form that includes a Greensky connection, turn on the following.

Greensky-specific fields

Enable both fields in the form's field configuration — they are hidden by default:

FieldNotes
Annual Finance Volume (annualFinanceVolume)The merchant's expected annual financed volume.
Greensky Primary Business Category (greenskyPrimaryBusinessCategory)A single selection from Greensky's fixed category list (e.g. HVAC, Roofing, Solar, Plumbing, Remodeling). Validated against the allowed values.

Ownership requirement

Whenever a boarding form includes Greensky — whether it's a single-connection form scoped to Greensky, or a multi-connection form where Greensky is one of the selected connections — the merchant must add business owners until at least 51% of total ownership is represented. A progressive counting bar on the owners step tracks progress toward the threshold, and the form will not advance until 51% is reached.

Greensky Terms & Conditions

Greensky adds a dedicated Terms & Conditions step to the form with two requirements:

  • The terms must be scrolled. The acceptance checkbox stays disabled until the applicant scrolls to the bottom of the Greensky terms content.
  • The person completing the application must be identified. If that person is one of the listed owners, they can Quick Fill their details in one click. Otherwise, first name, last name, title, email, and phone can be entered manually.

Required contacts

Greensky requires four contact roles on the account:

RoleLabel on form
accountPrimary Contact
creditStatements Contact
salesSales Contact
marketingMarketing Contact

For each role, the merchant picks an existing owner, picks an existing contact, or adds a new one. The same person can fill more than one role — four separate people are not required.

Boarding a Merchant

⚠️ Greensky merchants must be boarded through boarding forms

You can start boarding through the Preczn API, but some required data — including Greensky's anti-fraud check — can only be collected by the boarding form. There is no fully API-only boarding path for Greensky. See the FAQ for details.

Once the merchant submits the form, Preczn sends the enrollment to Greensky and begins tracking a status webhook for that merchant.

sequenceDiagram
    participant M as Merchant
    participant V as Vertical SaaS Platform
    participant P as Preczn
    participant G as Greensky

    M->>P: Submit boarding form
    P->>G: Send enrollment<br/>(+ status webhook callback URL)
    G-->>P: Success response — no merchant ID returned
    P->>P: Set status = Sent
    P-->>V: Merchant status webhook (Sent)
    Note over P: Merchant has no<br/>Greensky MID yet

    Note over P,G: A few minutes later
    G-->>P: First webhook<br/>(includes Greensky merchant ID)
    P->>P: Store merchant ID,<br/>set status = Underwriting
    P-->>V: Merchant status webhook (Underwriting)

    loop On each subsequent Greensky status change
        G-->>P: Status webhook
        P->>P: Map Greensky status<br/>to Preczn status
        P-->>V: Merchant status webhook
    end

⚠️ No merchant ID is returned on submit

Greensky does not return a merchant ID when the form is submitted. Instead, it sends an initial webhook a few minutes later carrying the assigned merchant ID. Preczn records that ID and moves the merchant into Underwriting. Until that first webhook arrives, the merchant has no Greensky merchant ID.

Merchant Status Mapping

Preczn tracks Greensky status updates by webhook and maps each Greensky status to a Preczn connection status:

Greensky statusPreczn statusWhat it means
UnderwritingUnderwritingApplication received; Greensky is reviewing. First status after boarding.
RFIRFIGreensky requested more information before it can proceed.
ActiveActiveApproved — the merchant can begin submitting loan applications and servicing loans for their customers.
RejectedRejectedGreensky declined the application.
SuspendedDisabledMerchant temporarily suspended by Greensky.
TerminatedClosedMerchant relationship ended by Greensky.

ℹ️ Unrecognized statuses

If a webhook arrives with no status, Preczn defaults the merchant to Underwriting. An unrecognized status leaves the current status unchanged.

Testing in the Sandbox

The Greensky sandbox only auto-progresses a merchant to Underwriting. It will not advance to Active, RFI, Rejected, Suspended, or Terminated on its own.

ℹ️ Testing other statuses

To test status progression beyond Underwriting, coordinate directly with Greensky: share your Greensky merchant ID and their team can trigger status changes manually in the sandbox.

FAQ

Can I onboard Greensky merchants entirely through the API?

No. You can start boarding through the Preczn API, but Greensky requires an anti-fraud check (the Blackbox) that is generated in the applicant's browser when they accept the Greensky terms. That only happens in the boarding form, so every Greensky merchant must complete a boarding form to finish onboarding.

What is the Blackbox field?

The Blackbox is an anti-fraud code Greensky requires with every application. When the applicant accepts the Greensky terms on the boarding form, Greensky's fraud-prevention technology automatically generates it from the device being used, and Greensky checks it to decide whether the application can proceed.

You don't enter or manage this value — the boarding form captures it for you. It's also why onboarding has to go through the boarding form rather than the API alone.

Why is my merchant stuck in Sent?

Right after a successful submission, the merchant sits in Sent until Greensky's first webhook arrives and moves it to Underwriting. If it stays in Sent, that first webhook was never received — and because no Greensky merchant ID exists yet, Preczn has no way to look the merchant up and confirm it was created.

Reach out to Greensky directly to resolve it, with:

  • the merchant name, and
  • the date and time the merchant was boarded — the onboardingSubmissionDate property on the merchant record.