Tips and Tricks: The Milestone Webhook

To learn about subscribing to webhooks, please visit our Credential & Webhook articles.  If you are unable to view, please reach out to support@goeverbright.com and they will provide access.

The Milestone Webhook Statuses + DAL

The milestone webhook is sent to the configured endpoint whenever a milestone is submitted for approval, rejected, or approved.  Depending on your level of integration, you may only want to consume the “Milestone Approval” webhook as that can be used as a trigger to transfer information in real-time. With the automatic update from the webhook, you can pull down all the homeowner, usage, project, quote, report, or change order data that you need without any additional user interaction: simply fire off another request to pull down the data.  You can learn more about the DAL here.

Fields in the Milestone Webhook

Upon receiving the milestone webhook, most integrated partners store down the following:

  • site (uuid) - this is the site UUID - this ID is 1:1 with a job in EverBright.  You may want to use this to create a new record in your portal and maintain the job sync, or use the identifier to find a job that already existing in your portal.

  • quote (uuid) - this is the quote UUID is similar to the site ID, except that it is not 1:1; there can be any number of quotes on a given job (or site).  The quote ID is also important here because it signifies and helps access all the contracted details. Please note that if a re-sign task is completed within the milestone for a different quote, and then the webhook is sent, the quote UUID will still be the initial/old quote. The Change Order webhook can be used to mitigate this from becoming a problem.

  • sub_tasks > uuid - you will need to store this information and make a GET request to: /api/v1/sub_task/{uuid}/download_all/ to download the Contract package. 

  • status - this is the status of the milestone.

  • alias - this a standardized name across product lines that can be used to understand the milestone the user took an action on.

    • M1 alias = projectqualification

    • M2 alias = installationcomplete

    • M3 alias = pto

There is A LOT more data in the milestone webhook.  If you have any questions, please reach out to your integration manager or support@goeverbright.com.  

Milestone Webhook and Re-signs

Given a re-sign utilizing a different quote completed within a milestone, when a webhook is sent for that milestone, it will contain the original quote UUID. To get the new quote ID, make the following request and store the UUID:

GET /api/data/workflow/?metrics=s_quote_id&quote_id={original_quote_id}

s_quote_id will be the quote signed for the re-sign. Then you can make all DAL requests via the quote path with the new UUID.

Sample Milestone Webhook

 

{ "uuid": "3b0b0ae5-43dd-4906-afcd-ed4621c582bb", "name": "M3 - System Activation", "description": "", "milestone_definition": "b1aabfc3-d0f4-48cb-bf49-08d187bacafc", "alias": "pto", "date_updated": "2024-08-26T13:45:24.098059Z", "status": "PEN2", "ready_to_submit": true, "site": "51c8da14-9b65-4248-ba50-bf392d472c5e", "quote": "a51b08c2-d3c7-47f1-99dc-a679062a61e2", "assigned_to": null, "task_count": 13, "ready_task_count": 0, "pending_task_count": 13, "approved_task_count": 0, "rejected_task_count": 0, "comments": [ { "uuid": "420005c9-1db1-4c87-8a12-06f37c8a865c", "comment": "EverBright User approved milestone M3 - System Activation.", "comment_type": "AUTO", "thread": null, "commenter_id": "cfece046-65fc-48c5-9811-08e8b941d8ef", "commentor": "everbrightbot@goeverbright.com", "commentor_first_name": "EverBright", "commentor_last_name": "Bot", "last_updated": null, "timestamp": "2024-08-26T13:45:24.537519Z", "private": false }, { "uuid": "9c68df60-f2e5-43f7-bcb7-efb2e005a3bc", "comment": "Installer User submitted milestone M3 - System Activation for approval.", "comment_type": "AUTO", "thread": null, "commenter_id": "cfece046-65fc-48c5-9811-08e8b941d8ef", "commentor": "everbrightbot@goeverbright.com", "commentor_first_name": "EverBright", "commentor_last_name": "Bot", "last_updated": null, "timestamp": "2024-08-23T14:14:23.782712Z", "private": false }, { "uuid": "34d5507f-4ac3-4a98-abcf-a7c36f297055", "comment": "EverBright User rejected milestone M3 - System Activation.", "comment_type": "AUTO", "thread": null, "commenter_id": "cfece046-65fc-48c5-9811-08e8b941d8ef", "commentor": "everbrightbot@goeverbright.com", "commentor_first_name": "EverBright", "commentor_last_name": "Bot", "last_updated": null, "timestamp": "2024-08-23T11:51:55.554860Z", "private": false }, { "uuid": "d9eb4ff9-67e2-4fd9-8860-66d9b4c27566", "comment": "LAYOUT - INVERTER PORTAL: The layout in the inverter portal must exactly match the layout on the Plan Set. Thank you.", "comment_type": "USER", "thread": null, "commenter_id": "44155c0d-237e-484a-8e57-709b41fc575e", "commentor": "first.last@goeverbright.com", "commentor_first_name": "EverBright", "commentor_last_name": "User", "last_updated": null, "timestamp": "2024-08-23T11:51:40.823007Z", "private": false }, { "uuid": "b9c7b144-b05e-433b-8ba1-7ccc350894dc", "comment": "Installer User submitted milestone M3 - System Activation for approval.", "comment_type": "AUTO", "thread": null, "commenter_id": "cfece046-65fc-48c5-9811-08e8b941d8ef", "commentor": "everbrightbot@goeverbright.com", "commentor_first_name": "EverBright", "commentor_last_name": "Bot", "last_updated": null, "timestamp": "2024-08-21T20:51:42.569546Z", "private": false }, { "uuid": "96c8c09d-36c3-42e8-88e3-0a5fd92d9dee", "comment": "Please update the address in the IL Incentive Related Document to reflect everything that is on contract - 123 Main St, Springfield IL 12345", "comment_type": "USER", "thread": null, "commenter_id": "34eba90e-9d7b-4200-96fe-e3f1cd271112", "commentor": "first.last@goeverbright.com", "commentor_first_name": "EverBright", "commentor_last_name": "User", "last_updated": null, "timestamp": "2024-04-25T14:54:22.685193Z", "private": false } ], "tasks": [ { "uuid": "0d34f6d9-19f3-4daa-ae79-c18283db433f", "name": "PTO Letter", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "18af476b-a7b6-4c55-9180-98420e0f2a87", "sub_tasks": [ { "uuid": "7b1257dd-1154-434c-b25e-48bb7442735f", "label": "Document Upload", "instructions": "1) Ensure that the property address on the PTO letter matches the installation address.\n \n2) Ensure that the document provided shows proof that it was issued from the utility. \n\n3) Ensure that there is a PTO/Interconnection date on the document.", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "UPLD", "data": { "envelopes": [], "documents": [ { "uuid": "adda91d5-75f2-4ff7-ac26-ca9c25c06bc7", "name": "PTO letter.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "227e8f37-d2f7-4f6b-bc47-b3471d42e4a6", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:24:21.803828Z", "upload_batch": null } ], "attachments": [] }, "signers": [] }, { "uuid": "029f86d3-7b92-4300-94dd-e87c1300b2f3", "label": "PTO Date", "instructions": "Please enter the date in which PTO/Interconnection was issued by the utility.", "formatted_instructions": null, "category": "DATE", "required": true, "status": "COMP", "document_status": "NOSTART", "data": "08/15/2024", "signers": [] } ] }, { "uuid": "3a2616f9-5710-4462-81e4-d202658b5e7d", "name": "Monitoring Specification", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "1d09303c-3b05-4ce1-8eb1-12b2b471a3f7", "sub_tasks": [ { "uuid": "13c7f65c-6941-4d41-ad19-edc19f1b4395", "label": "Monitoring ID", "instructions": "For SolarEdge inverters, enter the Monitoring ID. \n\nFor Enphase inverters, enter the Enphase System ID.\n\nYou must add EverBright as a user on the inverter monitoring portal. For instruction on how to do this, please navigate to EverBright Training, Operational Resources, and open EverBright Commissioning and Testing Protocols.", "formatted_instructions": null, "category": "INPUT", "required": true, "status": "COMP", "document_status": "NOSTART", "data": "1234567", "signers": [] } ] }, { "uuid": "db35a70e-73e4-4868-b229-8f5c9f1eba8e", "name": "Final Lien Waiver", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "5415c4ce-38a9-47f6-9d9e-98d788ed77a8", "sub_tasks": [ { "uuid": "e7ff9cb7-4528-4ffe-894f-e4495b153f9c", "label": "Final Lien Waiver", "instructions": "Please generate and execute this document", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "SIGN", "data": { "envelopes": [ { "uuid": "a6a49536-b238-4107-9b81-04fd4fab4f55", "name": "EverBright PPA Contract", "resource_id": "9c85d0d1-11e9-40a1-a15b-3bdd3ce52a3a", "date_sent": "2024-08-21T17:14:58.590869Z", "date_signed": "2024-08-21T17:20:49.253628Z", "date_voided": null, "status": "COMP", "document_group": "2e42caba-46d4-4b4b-be1e-db80b4929963", "task_action_alias": "DSN" } ], "documents": [ { "uuid": "46d134a7-3b13-49b1-8a79-fed3160df068", "name": "Final Lien Waiver.pdf", "stale": false, "archived": false, "document_type": "LIEN", "document_group": "2e42caba-46d4-4b4b-be1e-db80b4929963", "creation_type": "GENERATED", "date_created": "2024-08-21T17:14:50.009608Z", "upload_batch": null }, { "uuid": "feb7e2a5-5344-43c7-abcd-062bd07bef7f", "name": "Final Lien Waiver - Signed.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "2e42caba-46d4-4b4b-be1e-db80b4929963", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:20:51.926726Z", "upload_batch": 1 }, { "uuid": "61d7a234-8df0-48fb-aa62-8eea5bf72e84", "name": "certificate - Signed.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "2e42caba-46d4-4b4b-be1e-db80b4929963", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:20:52.448794Z", "upload_batch": 1 } ], "attachments": [] }, "signers": [ { "date_created": "2024-03-23T19:26:36.427416Z", "date_updated": "2024-08-21T17:20:49.237064Z", "created_by": "cceb6265-ad8a-40a2-bfab-9e6815db2dcd", "modified_by": "cceb6265-ad8a-40a2-bfab-9e6815db2dcd", "uuid": "253440d7-27a4-4ae0-add7-9379670b221b", "legal_contact_signer": null, "user_signer": "a0ff3108-8ca3-4afa-93fe-872507480fcf", "contact_signer": null, "signer_type": "C", "order": 1, "status": "COMP", "can_update": true, "date_sent": "2024-08-21T17:14:58.704041Z", "date_signed": "2024-08-21T17:20:49.236909Z", "date_declined": null, "date_voided": null, "email": "signer@installer.com", "first_name": "Installer", "last_name": "User" } ] } ] }, { "uuid": "e5409435-a6c9-40ec-b53d-3065b6d532ad", "name": "Installer Change Order (ICO)", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "c07a56ed-5ba2-43e0-8203-adbb307bacca", "sub_tasks": [ { "uuid": "eb8fb1f2-7f87-4b51-bf29-93ffc9dd715e", "label": "Installer Change Order (ICO)", "instructions": "Any of the following changes will require an installer change order: \n\n1) Changes to the system design \n\n2) Changes to the contract agreement/homeowner information", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "SIGN", "data": { "envelopes": [ { "uuid": "979c3e9a-12b0-4d9d-9d10-debbe1a008e2", "name": "EverBright EverFixed Contract", "resource_id": "72ee7442-2cf7-409a-a1b7-b1db65cce3cc", "date_sent": "2024-08-21T17:19:24.999778Z", "date_signed": "2024-08-21T17:23:31.139840Z", "date_voided": null, "status": "COMP", "document_group": "e81e6ac8-c536-4cde-90f7-f751deb2099d", "task_action_alias": "DSN" } ], "documents": [ { "uuid": "0cc39b15-7115-4327-a6f8-205154c110a6", "name": "Installer Change Order.pdf", "stale": false, "archived": false, "document_type": "WORK", "document_group": "e81e6ac8-c536-4cde-90f7-f751deb2099d", "creation_type": "GENERATED", "date_created": "2024-08-21T17:19:13.749925Z", "upload_batch": null }, { "uuid": "2476894f-8ae8-4178-9036-a580fa76b166", "name": "Installer Change Order - Signed.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "e81e6ac8-c536-4cde-90f7-f751deb2099d", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:23:34.337299Z", "upload_batch": 1 }, { "uuid": "3d5d3af7-baab-4558-8d16-b20bf0488d9d", "name": "certificate - Signed.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "e81e6ac8-c536-4cde-90f7-f751deb2099d", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:23:35.139324Z", "upload_batch": 1 } ], "attachments": [] }, "signers": [ { "date_created": "2024-03-23T19:26:36.663136Z", "date_updated": "2024-08-21T17:23:31.122654Z", "created_by": "cceb6265-ad8a-40a2-bfab-9e6815db2dcd", "modified_by": "cceb6265-ad8a-40a2-bfab-9e6815db2dcd", "uuid": "94e1ed0a-6fbe-4a6e-bca4-349523cecd71", "legal_contact_signer": null, "user_signer": "a0ff3108-8ca3-4afa-93fe-872507480fcf", "contact_signer": null, "signer_type": "C", "order": 1, "status": "COMP", "can_update": true, "date_sent": "2024-08-21T17:19:25.092339Z", "date_signed": "2024-08-21T17:23:31.122561Z", "date_declined": null, "date_voided": null, "email": "signer@installer.com", "first_name": "Installer", "last_name": "User" } ] } ] }, { "uuid": "dcfec66b-4746-4a9c-b5ae-e28a5297e136", "name": "Final Inspection Approval", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "4a53a50d-05d7-49ff-b92c-3a36fdcc58ce", "sub_tasks": [ { "uuid": "f42b3c2f-057a-46ad-ad49-224043119f07", "label": "Final Inspection", "instructions": "Final permit or signed job card showing the solar permit has been inspected and approved by the AHJ.", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "UPLD", "data": { "envelopes": [], "documents": [ { "uuid": "067244e9-89fa-4948-98d6-8cc3f4211b26", "name": "Customer Name FI.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "3801839e-ed1a-4e0a-9cda-03005382ca2e", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:23:55.738749Z", "upload_batch": null } ], "attachments": [] }, "signers": [] } ] }, { "uuid": "e5fbf7d1-e864-4b6b-a2dd-8c55a66e77bc", "name": "Homeowner Change Order (HCO)", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "a58c6f86-3101-4f8d-a3d4-f392a020c2a7", "sub_tasks": [ { "uuid": "ed8671e1-bd1b-4bcd-bdb9-46f8e8a31282", "label": "Homeowner Change Order (HCO)", "instructions": "Any of the following changes will require a homeowner change order: \n\n1) Changes to the system design that is outside of the allowable tolerance (-5%/ +10%) \n\n2) Changes to the equipment \n\n3) Changes to the contract agreement/homeowner information", "formatted_instructions": null, "category": "DOCUMENT", "required": false, "status": "INCM", "document_status": "NOSTART", "data": { "envelopes": [], "documents": [], "attachments": [] }, "signers": [ { "date_created": "2024-03-23T19:26:37.155223Z", "date_updated": "2024-03-23T19:26:37.155254Z", "created_by": "cceb6265-ad8a-40a2-bfab-9e6815db2dcd", "modified_by": "cceb6265-ad8a-40a2-bfab-9e6815db2dcd", "uuid": "d6915500-7f5a-4b31-acd1-6e51a9ddc8e2", "legal_contact_signer": "bae27acb-5bab-476b-ad2e-7f39a15bb27b", "user_signer": null, "contact_signer": null, "signer_type": "H", "order": 1, "status": "CREA", "can_update": false, "date_sent": null, "date_signed": null, "date_declined": null, "date_voided": null, "email": "customer.name@gmail.com", "first_name": "Customer", "last_name": "Name" } ] } ] }, { "uuid": "7e52d81c-dfa4-4688-8c82-6c0027f56f17", "name": "As Built Plan Set", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "f0794361-0a99-4e41-8934-fc86ea2c90c7", "sub_tasks": [ { "uuid": "f83360e9-5d54-44cc-8041-6ccda39791f8", "label": "Document Upload", "instructions": "As Built Plan Set must include the following: 1) Site Plan 2) Single Line Diagram 3) Equipment Spec Sheets. Please ensure that the Plan Set matches the installation of the system - to be verified with submitted photos.", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "UPLD", "data": { "envelopes": [], "documents": [ { "uuid": "c99cbdfc-29ff-4d6e-aec2-5a72d4365bbd", "name": "Customer Name CAD.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "b7e4d9ed-1f36-4aa9-8afd-fe5c8652e0c4", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:19:35.023337Z", "upload_batch": null } ], "attachments": [] }, "signers": [] } ] }, { "uuid": "d8ba43a7-f40c-4b93-8e11-bc36af3c8f45", "name": "System Photos", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "03bab5c6-7c2a-4fe8-a4e2-a0373ed28799", "sub_tasks": [ { "uuid": "4b6682b3-1944-4637-ae0f-a7b48b767fe5", "label": "Document Upload", "instructions": null, "formatted_instructions": null, "category": "DOCUMENT", "required": false, "status": "INCM", "document_status": "NOSTART", "data": { "envelopes": [], "documents": [], "attachments": [] }, "signers": [] } ] }, { "uuid": "bb7996f2-6a15-4466-af9d-b378d0a42ecf", "name": "Shade Study", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "4d8ec5cf-97bc-416a-828d-91e1f9374a8d", "sub_tasks": [ { "uuid": "920b0a26-ac6c-44b2-a954-0dfb5327a1b1", "label": "Shade Study Report", "instructions": null, "formatted_instructions": null, "category": "DOCUMENT", "required": false, "status": "COMP", "document_status": "UPLD", "data": { "envelopes": [], "documents": [ { "uuid": "bf36af92-2733-45f0-8b44-4a0f8d589860", "name": "Customer Name Shade Report-asbuilt.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "f3099503-1f3d-4ae3-9774-79add4261a7f", "creation_type": "UPLOADED", "date_created": "2024-08-21T17:19:43.909895Z", "upload_batch": null } ], "attachments": [] }, "signers": [] } ] }, { "uuid": "66c46298-4605-453f-91b1-6e89a65900e8", "name": "SREC Documentation", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "ec6a50bc-3384-462b-8e77-30eb479890f3", "sub_tasks": [ { "uuid": "67138b75-1215-4be9-bcbd-589f0b1f58df", "label": "Generate SREC Documentation", "instructions": "Generate this document to start the SREC process.", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "GEN", "data": { "envelopes": [], "documents": [ { "uuid": "59f8872c-58c9-4492-9839-eb2343b34c91", "name": "SREC Documentation (NJ, IL, MD).pdf", "stale": false, "archived": false, "document_type": "SREC", "document_group": "f9137339-cf4d-40f1-808f-c6f809633e33", "creation_type": "GENERATED", "date_created": "2024-08-23T11:41:33.641528Z", "upload_batch": null } ], "attachments": [] }, "signers": [] } ] }, { "uuid": "b3e1fbf5-f1e1-40c4-b1f2-23c91b2f62fd", "name": "IL Incentive Related Documentation", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "076291e8-f126-41e7-9660-18a6279e9280", "sub_tasks": [ { "uuid": "3a4bae47-84f0-4a20-b4f8-7916e679c998", "label": "Final IL ABP Disclosure Form Upload", "instructions": "Please upload the Disclosure form from the Illinois Adjustable Block Program (ABP) designee portal. This final Disclosure must match the final Work/Change Order.", "formatted_instructions": null, "category": "DOCUMENT", "required": true, "status": "COMP", "document_status": "UPLD", "data": { "envelopes": [], "documents": [ { "uuid": "ff688626-fb88-41fe-9ef2-488ff382a763", "name": "IL ABP Disclosure Form_Completed.pdf", "stale": false, "archived": false, "document_type": "OTH", "document_group": "b19c23e4-d815-48db-9424-9f738e11d952", "creation_type": "UPLOADED", "date_created": "2024-07-22T19:31:32.176775Z", "upload_batch": null } ], "attachments": [] }, "signers": [] } ] }, { "uuid": "acf500e5-7520-4a94-8dc3-c15cd0147160", "name": "IL Incentive Related Documentation Review", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "04cd556c-53ad-4c51-8751-195e1fb7f4a3", "sub_tasks": [ { "uuid": "fa8ee457-87bb-4610-a0ff-900e781c3c05", "label": "IL SREC Review - Deal Processing", "instructions": "Deal Processing to review the IL SREC Disclosure form. Checks to follow: 1) Customer Information: Verify customer name and address on REC doc matches the homeowner’s name and address from the last signed Change Order. 2) Approved Vendor: Approved Vendor - NextEra Energy Capital Holdings, Inc. or EverBright, LLC. 3) Project Installer: Verify project installer name on the REC form, matches the installer name on the last signed Change Order. 4) PPA Information and Costs: Verify length of contract REC doc matches the term on the last signed Change Order or PPA Contract. 5) Project Design Specifications: Verify that the kW DC from the REC form matches the kW system size from the last signed Change Order. 6) Signature: Verify REC document is signed.", "formatted_instructions": null, "category": "CHECKBOX", "required": true, "status": "COMP", "document_status": "NOSTART", "data": true, "signers": [] } ] }, { "uuid": "a9969823-1f2c-4abe-a2c9-48017d2d6314", "name": "System Photos Review", "description": "", "status": "PEN2", "assigned_to": null, "task_definition": "819ef79b-7868-4ec4-a990-942d717670a0", "sub_tasks": [ { "uuid": "a285f322-3135-4c81-b059-0831931f28c4", "label": "Additional Documentation", "instructions": "", "formatted_instructions": null, "category": "DOCUMENT", "required": false, "status": "COMP", "document_status": "UPLD", "data": { "envelopes": [], "documents": [ { "uuid": "c7ac0d3a-eb5e-4df5-8611-2d26ec0bbcbc", "name": "Blank.jpg", "stale": false, "archived": false, "document_type": "OTH", "document_group": "694aa1ac-99cf-442f-a88d-fcd5205935d3", "creation_type": "UPLOADED", "date_created": "2024-08-22T13:11:45.885198Z", "upload_batch": null } ], "attachments": [] }, "signers": [] } ] } ], "workflow": "1456818c-0c27-4190-afe0-c57347764549", "submission_deadline": "2024-12-18" }