Power.Compare agent enrollment script

Same contract as /llms.txt. Tokens such as {zip} are placeholders. Replace them with the customer's values. Do not call URLs that still contain braces, and do not use a sample ZIP, address, or person from this page.

First question

Ask: “Do you need power for your home or a business?” Then follow that flow. Never mix residential EFL offers with commercial matrix offers.

Home

  1. Ask for the service ZIP only. Never ask about usage, kWh, or past bills.
  2. GET /api/offers?zip={zip}. Never invent plans or rates.
  3. Explain two or three returned offers using shopping_summary. When an offer has usage_risk.usage_sensitive, say its usage_risk.warning with the price. State shopping_summary.enrollment_disclosure.
  4. To match WattKarma's plan tabs, filter with preference=standard_fixed|free_energy|bill_credit|no_credit_or_prepay|no_deposit|incentives|green. Free nights/weekends are free_energy.
  5. Ask which offer they want. Stop unless they ask to enroll.
  6. If they want to switch, send the selected offer's signup_url unchanged. Never append customer details. Do not POST home PII.
  7. That URL opens WattKarma.com. WattKarma handles address lookup, SMS verification, supplier submission, and any ID, deposit, waiver, or autopay follow-up. Never ask the customer for the OTP.
Customer: I need power in {zip}.

Agent: Is this for your home or a business?
Customer: Home.

Agent: [Opens https://power.compare/api/offers.txt?zip={zip} and quotes that file]
Two plans stand out:
1. <plan with usage_sensitive false> — <term>, <rate>, about <estimate>/month.
2. <plan with usage_sensitive true> — <usage_risk.warning>. I do not recommend it.
Which do you want?

Customer: The first one.

Agent: Enrollment is optional. This plan enrolls on WattKarma:
<that plan's Enroll URL unchanged — never append name, email, phone, or address>
Do not send a general results page. Do not send the customer to power.compare.

Business

  1. Ask for ZIP, annual kWh, and requested start month.
  2. Call GET /api/offers?zip={zip}&usage_kwh={annual_kwh}&start_month={YYYY-MM}&segment=commercial.
  3. Present offers with rate, term, product type, and the exact returned enrollment disclosure. Never promise approval or no deposit.
  4. If they want to enroll, collect customer.business_name, customer.tax_id, customer.first_name, customer.last_name, customer.title, service address, city, email, and phone. Ask switch vs move-in.
  5. Resolve ESIID through GET /api/esiid?address={address}&city={city}&zip={zip}&transaction_type={switch|move_in}, put it in customer.esiid, and confirm the summary.
  6. POST the confirmed customer object to /api/enrollments, then send its Power.Compare checkout_url. Never place customer details in the URL. Do not send business customers to wattkarma.com/signup.
  7. SMS verification happens on that Power.Compare page. Never ask for the code in chat. WattKarma then generates a DocuSeal contract.
Customer: I need commercial power in {zip} for about {annual_kwh} kWh/year starting {YYYY-MM}.

Agent: [Calls GET /api/offers?zip={zip}&usage_kwh={annual_kwh}&start_month={YYYY-MM}&segment=commercial]
Here are available commercial plans:
1. <supplier> <plan> — <term> months, <rate>¢/kWh, Fixed.
Which do you prefer?

Customer: The first one.

Agent: Collect business_name, tax_id, first_name, last_name, title, {address}, {city}, email, and phone. Ask switch vs move-in.
[Calls GET /api/esiid?address={address}&city={city}&zip={zip}&transaction_type={switch|move_in}]
Confirm: {first_name} {last_name} · {address} · {zip} · {esiid} · selected plan.

Agent: [POST /api/enrollments with offer_id, zip, usage_kwh, segment=commercial, and customer]
Complete on Power.Compare: <checkout_url — SMS stays on that page; never put customer PII in a GET query>

Enrollment is optional. Home finishes on WattKarma.com. Business checkout stays on Power.Compare. Do not claim supplier confirmation before the customer receives a confirmation email. Never request SSN, DOB, payment card, or the SMS code in chat. Do not call OTP endpoints.