# Webhooks Webhooks let PAI send data to external systems automatically when specific events occur — an estimate is approved, a vendor submits an invoice, a payment is recorded. Any system that can receive an HTTP POST request can be a webhook destination. The recommended approach for most teams is to connect PAI webhooks to **Zapier**, which acts as a bridge between PAI and virtually any other tool in your stack — no custom development required. Teams use this to ping Slack channels, trigger emails, activate workflows in project management tools, update spreadsheets, and more. Access webhooks via **Settings → Webhooks**. --- ## Available Triggers ### Project Events - **Project Approved** — fires when an estimate reaches "Approved" status - **Estimate Stage Updated** — fires when an estimate's status changes (Draft, Internal Review, Sent, etc.) ### Invoice Events - **Invoice Submitted** — fires when a vendor submits an invoice through the Vendor Portal - **Invoice Approved** — fires when an invoice is approved in Accounts Payable - **Invoice Changes Requested** — fires when an invoice is rejected and changes are requested - **Invoice Payment Date Set** — fires when a payment date is scheduled - **Invoice Paid** — fires when an invoice is marked as paid ### Vendor Events - **Vendor Activated** — fires when a vendor's portal status is set to Active --- ## Setting Up a Webhook 1. Go to **Settings → Webhooks** 2. Click to add a new webhook 3. Select the trigger event from the dropdown 4. Paste your destination URL 5. Click **Add** to save To test, trigger the corresponding event in PAI and verify your endpoint receives the payload. --- ## Common Use Cases with Zapier These are real workflows customers have built using PAI webhooks and Zapier: **Slack notifications** — trigger on Invoice Submitted to ping an AP or finance Slack channel the moment a vendor submits. Keeps your team aware of incoming invoices without checking PAI manually. Same pattern works for Invoice Approved, Invoice Paid, or any other status you want visibility on. **Automated emails** — trigger on Invoice Payment Date Set to send a customized payment confirmation email to the vendor or an internal stakeholder outside of PAI's built-in notifications. **Vendor onboarding** — trigger on Vendor Activated to kick off a downstream onboarding process: send a welcome email via your CRM, create a vendor record in your accounting software, or add them to a distribution list. **Project kickoff** — trigger on Project Approved to create a project in your project management tool, notify the production team in Slack, or start a templated workflow in any system that Zapier connects to. **Accounting sync** — trigger on Invoice Approved or Invoice Paid to create or update records in your accounting software, eliminating manual double-entry between PAI and your books. **Financial tracking** — trigger on Invoice Paid to update a live Google Sheet, Airtable base, or dashboard that aggregates payment data outside PAI. --- ## Troubleshooting **Webhook not firing** — verify the correct trigger is selected and that the event actually occurred in PAI (check the project or invoice status). Confirm your endpoint URL is accessible and returns a 200 status. **Missing data** — review the webhook payload structure and check whether your receiving system needs additional data mapping. **Connection issues** — test the endpoint URL independently using a tool like Postman. Check for SSL/TLS certificate issues or firewall rules that might block incoming requests. For additional help, contact [email protected].