[Property Management integration]

Add postal proof to property management workflows

Use mailbox.bot around AppFolio-centered operations to send tenant notices with delivery proof, then route returned documents, forwarded scans, and mail photos back into the property-management record or case file.

recommended shape
rent aging or lease trigger
notice PDF from tenant and lease data
dry run validates the notice
manager approves certified notices
proof stored on the case file
Best for
Property teams that need certified or first-class tenant notices.
Proptech workflows that sit beside AppFolio data.
Agents that draft notices from property, tenant, lease, or maintenance context.
Triggers
Rent aging crosses a threshold.
Lease violation is approved for notice.
Move-out or security deposit deadline approaches.
[Workflow]
1

Agent or middleware receives property-management context.

2

Notice PDF is generated from tenant, property, lease, and deadline data.

3

mailbox.bot dry run validates the send.

4

Human approves legal or certified notices.

5

Delivery proof, returned paperwork, and inbound mail-photo evidence are stored back in the property management record or external case file.

Technical pattern
An export, report or middleware supplies tenant, property, lease and notice data; keep the case file id in metadata.
Generate the notice PDF from the lease template; choose certified for statutory notices and first_class for reminders.
Mail status events update the external proof trail or the case record.
Returned mail arrives as inbound items; keyword rules on the tenant or property name route it to the case.
Metadata to preserve
source=appfolio
property_id
tenant_id
lease_id
notice_type
deadline
case_id
POST/api/v1/maildry_run=true
curl -X POST https://mailbox.bot/api/v1/mail \
  -H "Authorization: Bearer sk_agent_test_..." \
  -H "X-Mailbox-MD-Version: <version>" \
  -H "X-Max-Cost-Cents: 2500" \
  -F "document=@tenant-notice.pdf" \
  -F "recipient_name=<recipient>" \
  -F "recipient_line1=<street>" \
  -F "recipient_city=<city>" \
  -F "recipient_state=<state>" \
  -F "recipient_zip=<zip>" \
  -F "mail_class=certified" \
  -F "dry_run=true" \
  -F 'metadata[property_id]=<property_id>' \
  -F 'metadata[tenant_id]=<tenant_id>' \
  -F 'metadata[lease_id]=<lease_id>' \
  -F 'metadata[source]=appfolio'
Agent prompts
"Draft a lease violation notice from this property management record and prepare a mailbox.bot certified dry run."
"When a tenant notice is approved, send it through mailbox.bot and attach delivery proof to the case record."