AFI AFI

AddCal

Estimated reading: 3 minutes Updated August 1, 2026

AddCal is a calendar and event management platform. Advanced Form Integration creates events on your AddCal calendars directly from WordPress form submissions, so bookings, appointments, and registrations are added to your calendar automatically without manual entry.

What you’ll need

  • An active AddCal account.
  • An AddCal API Token (see below).
  • The Advanced Form Integration plugin installed and activated.

Get your AddCal API token

AddCal authenticates API requests with a bearer token.

  1. Sign in to your AddCal dashboard.
  2. Open the user menu and go to API Token.
  3. Generate a new token and copy it.
  4. In WordPress, go to AFI → Settings → AddCal.
  5. Click Add New Account, paste the token, and give the account a name.
  6. Click Save.

See the AddCal API docs for field descriptions and examples.

Create the integration

  1. Go to AFI → Add New.
  2. Give the integration a name, for example Booking form to AddCal.
  3. Under Trigger, pick the form plugin and the specific form you want to listen on.
  4. Under Action → Platform, select AddCal.
  5. In Task, choose Create Event.
  6. Pick the saved account in the AddCal Account dropdown.
  7. Optional: check Include HTML Snippets to append ?with_html=true to the API call, which returns HTML button templates in the response.
  8. Map your form fields onto the AddCal fields listed below.
  9. Optional: open Conditional Logic to limit which submissions are sent.
  10. Click Save Integration.

Tasks supported

Create Event

Creates a new event on your AddCal calendar via POST /api/events. The event appears in your dashboard immediately. Start and end times inherit the calendar timezone unless you supply a timezone field.

Required fields

Field Field key Notes
Title title Event title
Start date_start ISO 8601 datetime
End date_end ISO 8601 datetime

Optional fields

Field Field key Notes
Description description
Location location
All Day is_all_day Boolean (true/false)
Timezone timezone Overrides the calendar timezone for this event
Busy Type busy_type
Calendar UID calendar_uid Target a specific calendar by its UID
Calendar Name calendar_name If no UID is given, AddCal auto-creates or reuses a calendar with this name
Team UID team_uid
Recurrence Rule recurrence_rule RRULE-style recurrence definition
Has RSVP has_rsvp Boolean
RSVP Limit rsvp_limit Integer
Reminder Before reminder_before Minutes before the event (non-negative integer)
Short Link short_link
Image URL image_url
Location URL location_url
Internal Name internal_name
Is Draft is_draft Boolean; creates the event as a draft

Calendar selection

You can target a calendar in two ways. Provide a Calendar UID to assign the event to an existing calendar by its unique identifier. Alternatively, provide a Calendar Name and AddCal will auto-create or reuse a calendar with that name. If neither is supplied, the event is created on your default calendar.

Conditional logic example

Only create events for confirmed bookings. Add a condition: Booking Status is confirmed. Pending or cancelled submissions are skipped, keeping your calendar clean.

Troubleshooting

Nothing arrives in AddCal

Open AFI → Log and find the most recent entry for this integration. AFI stores the request it sent and the raw response it got back, so the AddCal error message is right there. If there is no log entry at all, the trigger never fired: re-check the form selection and submit a real test entry from the front end rather than the form builder preview.

“API token is missing”

Verify that you saved the API token in AFI → Settings → AddCal and that the correct account is selected in the integration. If the token was regenerated in AddCal, update it in the settings.

Missing required field error

AFI validates that title, date_start, and date_end are mapped and non-empty before sending. If any of these are blank in the form submission, the request is not sent and the error is logged.

Related docs