Skip to main content
This endpoint is used by the Portal.io Zapier integration. It fires when a proposal’s status changes in your Portal.io account — for example, when a proposal moves from Draft to Submitted, or from Submitted to Accepted.

Endpoint

GET /zapier/trigger/proposal

Headers

HeaderRequiredDescription
AcceptYesMust be application/json

Response

A 200 response returns the full proposal details including customer information, areas with line items, financial summary, profit breakdown, recurring services, change orders, and links to generated documents (PDF, CSV).
{
  "number": 0,
  "status": "string",
  "total": 0,
  "customer": {
    "location": {
      "id": 0,
      "street": "string",
      "suite": "string",
      "city": "string",
      "postalCode": "string",
      "state": "string",
      "stateAbbrev": "string",
      "country": "string",
      "phone": "string"
    },
    "id": 0,
    "partyType": "Person",
    "contactType": "Client",
    "firstName": "string",
    "lastName": "string",
    "companyName": "string",
    "contactEmail": "string",
    "contactEmailCC": "string",
    "contactPhone": "string"
  },
  "proposalPdf": "string",
  "proposalCsv": "string",
  "installerPdf": "string",
  "salesPerson": "string",
  "salesPersonEmail": "string",
  "areas": [
    {
      "id": 0,
      "name": "string",
      "options": [
        {
          "id": 0,
          "status": "Draft",
          "lastModifiedDate": "2019-08-24T14:15:22Z",
          "clientDescription": "string",
          "installerDescription": "string",
          "items": [
            {
              "id": 0,
              "parentId": 0,
              "itemType": "Part",
              "referencedItemId": 0,
              "brand": "string",
              "model": "string",
              "description": "string",
              "name": "string",
              "shortDescription": "string",
              "quantity": 0,
              "sellPrice": 0,
              "cost": 0
            }
          ],
          "total": 0,
          "totalRecurringService": 0
        }
      ]
    }
  ],
  "financialSummary": {
    "partsSubtotal": 0,
    "partsTotal": 0,
    "laborTotal": 0,
    "feeTotal": 0,
    "proposalSubtotal": 0,
    "proposalTotal": 0
  },
  "id": 0,
  "name": "string"
}
The response schema above is simplified for readability. The full response includes additional nested fields for financial summary, profit, recurring services, change orders, and sales tax. This endpoint is designed for the Portal.io Zapier integration. If you are building a direct integration, consider using the webhook subscription endpoints instead.