Plus plan

API and Webhooks for Your Agency's Client Portal

The AgencyPro API lets you read and write clients, requests, invoices and services from your own code, and webhooks push 15 events to your endpoints the moment they happen, signed and retried on failure.

API access, webhooks and Zapier are included on the Plus plan ($149/mo). They are not available during the trial.

REST API and webhooks

OpenAPI 3.0, Bearer tokens, HMAC signatures

What developers get

The pieces you need to connect AgencyPro to the rest of your stack.

REST API

JSON endpoints for clients, organizations, requests, services, invoices, payments, subscriptions, order forms and submissions, top-ups and team members. Assign requests, change status, add comments and tags, send invoices or mark them paid.

Webhooks

Send events to any HTTPS endpoint as they happen. Pick the events per webhook, give it a name, and switch it on or off without deleting it.

Tokens and signatures

Create named API tokens in Workspace Settings > API Tokens (shown once, valid for a year, revocable). Add a secret to a webhook and each delivery carries an X-Webhook-Signature header (HMAC SHA-256) you can verify.

OpenAPI specification

The full API is described in an OpenAPI 3.0 spec at my.agencypro.app/api/v1/docs/openapi, so you can import it into Postman or generate a client in your language.

Retries and delivery log

Failed deliveries retry after 1, 5 and 30 minutes. Each webhook shows total, successful and failed deliveries, its success rate, and the payload and response for each attempt.

Zapier and Slack

Prefer no code? Zapier (also Plus) connects AgencyPro events to Zapier's app library, and the Slack integration posts request, ticket and payment notifications to a channel.

Webhook events

Choose any combination of these events for each webhook. A test event is available so you can check your endpoint before going live.

AreaEvents
Clientsclient.created, client.updated, organization.created
Requestsrequest.created, request.updated, request.assigned, request.status_changed, request.completed
Billinginvoice.created, invoice.paid, payment.succeeded, subscription.created
Otherservice.created, order_form.submitted, team_member.added

For example, a payment.succeeded webhook pointed at a small endpoint of yours can record the payment in your accounting tool and post a message to a finance channel. If your endpoint is down, AgencyPro retries after 1, 5 and 30 minutes, and the failure shows in the delivery log.

Getting connected

1
Create a token

In Workspace Settings > API Tokens, create a named token and copy it. Send it as a Bearer token in the Authorization header.

2
Read the spec

Load the OpenAPI spec to see every endpoint, parameter and schema. The base URL is https://my.agencypro.app/api/v1.

3
Add a webhook

In Workspace Settings > Webhooks, enter your endpoint URL, choose events and a secret, then send a test event.

4
Verify and monitor

Check the signature on each delivery, return a 2xx quickly, and watch the delivery log for failures.

Worked example: send paid invoices to your bookkeeping system

  1. In Workspace Settings > Webhooks, add a webhook named "Bookkeeping" pointing at your endpoint (for example a small serverless function), subscribe it to invoice.paid and set a secret.
  2. Send a test event. Your endpoint receives a webhook.test payload, and AgencyPro shows the status code and response your endpoint returned.
  3. When a client pays an invoice, AgencyPro POSTs JSON with the invoice fields at the top level plus metadata: _event, _event_id, _created_at and _workspace_id.
  4. Your function recomputes the HMAC SHA-256 of the body with the secret, compares it with the X-Webhook-Signature header (sha256=...), uses _event_id to ignore duplicates, creates the payment in your accounting tool and returns 200.
  5. If it returns an error or times out, AgencyPro retries after 1, 5 and 30 minutes. Failed attempts stay in the delivery log with the payload, so you can see what was missed.

Limits: API access and webhooks need Plus or Enterprise and are off during the trial; tokens last one year; each webhook can add custom headers and has its own timeout. Prefer no code? Zapier, also on Plus, connects AgencyPro events to other apps without an endpoint of your own.

What agencies build with it

Accounting sync

Listen for invoice.paid and payment.succeeded and post the payment into your accounting system, so bookkeeping does not depend on someone exporting a CSV.

Website lead to client

Create a client and organization through the API when a prospect completes a form on your own site, then send the portal invitation from AgencyPro.

Reporting warehouse

Pull requests, invoices and subscriptions on a schedule into a spreadsheet or BI tool to build reports AgencyPro does not include.

Ops alerts

Use request.assigned or request.status_changed to ping the right channel or person in your own tools when work changes hands.

When you do not need the API

  • You only want notifications. The Slack integration covers request, ticket and payment alerts without code.
  • You want automations but no developer. Zapier (Plus) uses the same events through a visual builder. Browse the AgencyPro integrations first.
  • You are on Basic or Pro. Moving to Plus for the API costs $70/mo more than Pro for one seat, plus $10/mo more per extra seat. Worth it when an integration saves real hours each month, not for a one-off import (the CSV importer handles clients and services on every plan).

Frequently asked questions

What can I do with the AgencyPro API?

Read, create, update and delete clients, organizations, requests, services, invoices, payments, subscriptions, order forms, top-ups and team members. You can also assign requests, change their status, add comments and tags, send invoices and mark them paid. The OpenAPI spec lists every endpoint.

What events can webhooks send?

Fifteen: client.created, client.updated, organization.created, request.created, request.updated, request.assigned, request.status_changed, request.completed, service.created, invoice.created, invoice.paid, payment.succeeded, subscription.created, order_form.submitted and team_member.added.

How do I verify a webhook came from AgencyPro?

Set a secret on the webhook. Each delivery includes an X-Webhook-Signature header with an HMAC SHA-256 of the payload, prefixed with sha256=. Compute the same hash with your secret and compare before trusting the payload.

Can I use the API during the free trial?

No. API access and webhooks are Plus features and are switched off during the 14-day trial, which runs at Pro level. You can open the API Tokens page during the trial to plan your integration.

Which plans include API access?

API access, webhooks and Zapier are on Plus ($149/mo) and Enterprise. Plus includes one seat; extra seats are $30/mo, so a 4-person team pays $149 + 3 x $30 = $239/mo.

Connect AgencyPro to the tools you already run

Review the OpenAPI spec, then book a demo to talk through your integration before you move to Plus.