Aurora Solar
ERPConnect AI agents to Aurora Solar, the design and sales platform for residential and commercial solar. Agents create projects and design requests, generate proposals, apply pricing and financing options, and register the webhook subscriptions Aurora notifies.
What This Integration Enables
Aurora Solar is not where the solar deal is tracked, it is where the deal is engineered. A proposal produced here carries a system size, a bill of materials, an annual production figure, and a savings number that a homeowner signs against. Every one of those is downstream of two inputs that are easy to get wrong at speed: the roof model and the consumption profile. That is the honest case for automating this connector. Not that agents can generate proposals faster, but that they can make sure the design request goes in early, the homeowner's real bills are loaded before the savings are calculated, and the engineering output reaches permitting and finance without a human retyping a bill of materials.
FlowRunner agents work the Aurora Sync API through this connector: projects, consumption profiles, designs and design requests, pricing adders and financing, proposals and homeowner web proposal links, the module and inverter catalogs, and webhook subscription management. Aurora does send event notifications, but it sends them as an HTTP GET against a URL template with placeholders substituted into the path rather than as a JSON payload a trigger could resolve into an event, so this connector ships no triggers. Change detection is done by polling List Projects, List Designs, or List Design Requests on a schedule, or by pointing an Aurora webhook URL template at an endpoint of your own. Workflow order matters here in a way it does not in a CRM: a design belongs to a project, a 3D model has to exist before modules can be laid out, and pricing has to be configured before Create Proposal will succeed. Agents that respect that order are the ones that finish.
Without FlowRunner
With FlowRunner
Use Case Scenarios
A modeled design waiting before the sales appointment
A roofing lead lands in JobNimbus. The agent calls Retrieve Tenant to read the tenant's own project status vocabulary, then Create Project with the property address and homeowner details, and Create Design Request with Auto Accept enabled so the finished 3D model becomes a design the moment the expert service completes it. While that runs, the agent loads the homeowner's twelve monthly bill values with Update Consumption Profile so the savings figures will reflect real usage rather than a default curve. By the time the rep sits down at the kitchen table, Retrieve Design Summary already has the system size and production estimate.
Engineering output that reaches permitting without a retype
A design reaches its final state. The agent calls Retrieve Design Summary for the bill of materials, the AC, PTC, and STC system sizes, the annual production with its loss summary, and the per-array breakdown, then Retrieve Roof Summary for the measurements. List Project Assets collects the supporting files. All of it is written into Google Sheets for the permitting handoff and posted to the operations channel in Slack. Because each array in the summary groups modules sharing a roof face, module model, azimuth, pitch, orientation, and inverter input, a single roof face can produce several arrays when microinverters and string inverters are mixed, and the agent carries that structure through rather than flattening it into one number.
Repricing that does not quietly break the homeowner's link
An upstream pricing sheet changes the steep roof surcharge. The agent calls Create Adder against the affected designs and Retrieve Design Pricing to confirm the new totals, then Delete Proposal and Create Proposal to regenerate from the right template, since a design carries at most one default proposal. Before it issues a new homeowner link, it calls Retrieve Web Proposal to see what is already live. That check is the whole point, and it is where the workflow hands over to a person.
Human-in-Loop Highlight
Generate Web Proposal URL immediately expires any previously issued URL, including one that has not yet expired. That is a small sentence with a large consequence: the homeowner who received a proposal link on Tuesday and is showing it to their spouse on Thursday finds a dead link, and nobody in the company knows it happened. So when the repricing agent finishes recalculating a proposal, it does not reach for Generate Web Proposal URL. It calls Retrieve Web Proposal first, and when a live link already exists it stops and asks the rep in Slack: "Proposal regenerated for the Alvarez project after the steep roof adder changed. A web proposal link is already live and was sent four days ago. Issuing a new URL kills the old one. Reissue and re-send, or leave the current link in place until they call you back?" The agent has done the repricing, the proposal rebuild, and the check. The person decides whether to reach into a live sales conversation. Update Design carries the same shape of risk from the other direction, because recording the Sold milestone automatically marks every other sold design on that project as canceled, so a project ends up carrying exactly one sold design and the choice of which one is a commercial decision, not a cleanup step.
Agent Capabilities
37 actionsAccount
2- Retrieve Tenant Returns the tenant record including the project status vocabulary, currency, measurement units, and temperature unit. Used before any project write, because Create Project and Update Project only accept statuses defined for that tenant. Also the quickest way to confirm the API key and tenant ID are valid.
- List Users Returns the tenant's users. Used to assign project owners to real people.
Projects
6- List Projects Returns projects, sorted newest first, with page sizes up to the resource maximum. Used for pipeline sweeps and as the polling surface for change detection.
- Create Project Creates a project from a property address, a latitude and longitude pair, or both, with owner and status. A single coordinate without its pair is rejected, and with duplicate checking enabled Aurora rejects a project at an existing location. Used the moment a solar lead arrives.
- Retrieve Project Returns a single project with its current status and detail. Used to confirm state before designs, pricing, or proposals are written.
- Update Project Updates project fields including status drawn from the tenant vocabulary. Cannot change the project location, which is set once at creation.
- Delete Project Deletes a project and the designs, proposals, and other records hanging off it. Not reversible from the API, so it stays behind a human decision.
- List Project Assets Returns the files attached to a project. Used to assemble the supporting documents a permitting handoff needs.
Consumption
3- Retrieve Consumption Profile Returns the project's single consumption profile. Used to check what usage data a proposal's savings figures are actually built on.
- Update Consumption Profile Loads monthly energy, monthly bill, or interval data, taking exactly one of the three per request. Monthly arrays need exactly twelve values starting with January, and interval data must start at the first interval of 1 January and cover at least one complete contiguous month. Used to ground proposal savings in the homeowner's real bills.
- List Utility Bills Returns the project's utility bills with freshly minted presigned download URLs that expire after twenty-four hours, so the action is re-called to refresh an expired link. Only the most recently parsed bill feeds the load profile.
Designs
7- List Designs Returns the designs on a project. Used to poll for completion and to audit which design a proposal was built from.
- Create Design Creates a design inside an existing project. Used when the layout is authored directly rather than through the expert service.
- Retrieve Design Returns a single design. Used to confirm state before pricing or proposal steps.
- Update Design Updates a design, including its milestone. Recording the Sold milestone automatically cancels every other sold design on the project, and the Change Order milestone requires at least one change order type.
- Duplicate Design Copies an existing design. Used to build a comparison option without rebuilding the roof model.
- Retrieve Design Summary Returns the engineering export: bill of materials, AC, PTC, and STC system sizes, energy production with its loss summary, and the per-array breakdown grouped by roof face, module model, azimuth, pitch, orientation, and inverter input. Used to feed permitting, ERP, and reporting without a retype.
- Retrieve Roof Summary Returns roof measurements in the tenant's imperial or metric setting, with pitch returned only when every face shares the same pitch. Edge types are automatic for SmartRoof and AI Roof but manual on simple roof faces, and the endpoint rejects projects carrying an accepted legacy EagleView design request.
Design Requests
4- List Design Requests Returns design requests with their status. Used as the polling surface for the expert modeling queue.
- Create Design Request Submits a site to Aurora's expert 3D modeling service, with an optional expedited ETA and an Auto Accept option that accepts the finished model automatically. Used to get a modeled design ready before the sales appointment.
- Retrieve Design Request Returns a single design request with its status and resulting design ID. Used to confirm completion before downstream steps.
- Accept Design Request Moves the request to its accepted status, creates a design in the referenced project, stores the generated 3D site model on it, and records the new design ID on the request. This is the action that turns a completed request into a usable design.
Pricing and Financing
4- Retrieve Design Pricing Returns the pricing configured on a design, including the adder IDs that Delete Adder needs. Used to confirm totals before a proposal is generated.
- Create Adder Adds a pricing adder or discount, such as a steep roof surcharge, to a design. Used to apply an upstream pricing sheet without opening the Aurora app.
- Delete Adder Removes a pricing adder by its ID. Returns an empty body on success and is not reversible from the API.
- List Financings Returns the tenant's financing options, which are created and configured inside the Aurora app rather than through the API. Filtering by financing option is worth doing, because some attributes are populated only when a specific type is requested.
Proposals
6- List Proposal Templates Returns the tenant's proposal templates with the default template first. Used to resolve the right template before generation.
- Create Proposal Generates the proposal for a design from an enabled template. A design carries at most one default proposal, and pricing has to be configured first or the call fails.
- Retrieve Proposal Returns the proposal on a design. Used to confirm what exists before regenerating anything.
- Delete Proposal Removes the existing proposal, which is the prerequisite for regenerating from a different template. Returns an empty body and is not reversible from the API.
- Retrieve Web Proposal Reads the current homeowner-facing web proposal link without changing it, returning a null URL when none has been issued. Used as the safe check before any decision to reissue.
- Generate Web Proposal URL Issues a fresh homeowner-facing proposal link and immediately expires any previously issued URL, including one that had not yet expired. The expiration window is set per tenant, and agents put this behind a person because the old link may already be in a customer's hands.
Components
2- List Modules Returns the solar module catalog. Used to resolve module models when reading or building a design.
- List Inverters Returns the inverter catalog. Used alongside modules when interpreting the per-array breakdown of a design summary.
Webhooks
3- List Webhooks Returns the tenant's webhook subscriptions with their IDs. Used to audit what is registered and to find the ID Delete Webhook needs.
- Create Webhook Registers a subscription with a URL template whose placeholders determine which values are delivered, secured either with a custom header or with basic auth. The two auth schemes are mutually exclusive and Aurora rejects a request that mixes them.
- Delete Webhook Removes a webhook subscription by ID. Returns an empty body on success and is not reversible from the API.
Frequently Asked Questions
What can FlowRunner do with Aurora Solar?
FlowRunner agents can run Retrieve Tenant, List Users, and List Projects in Aurora Solar, plus 34 more actions.
Does connecting Aurora Solar to FlowRunner require OAuth?
No. Aurora Solar connects to FlowRunner with an API key, no OAuth flow required.
Can Aurora Solar trigger a FlowRunner workflow automatically?
Aurora Solar doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Aurora Solar
$100 in credits. No card required. Connect in minutes.