Webhooks

Overview

Using webhooks, you can notify a third-party software application of selected changes to your WildApricot database. 

For example, when you add a new social event to your WildApricot website, you might want to notify and synchronize this event with external services like Google calendars or Outlook calendars, which are not part of your website but may be used by your supporters to manage and view events on their personal calendars. A webhook serves as a bridge that allows your WildApricot website to communicate with these external services, ensuring that the data is kept in sync between the two systems.

Important Note: Working with webhooks requires technical knowledge. If you need help setting up a webhook, you can engage the services of one of our technical partners

Adding a webhook

To add a webhook to your WildApricot account, follow these steps:

1. Navigate to Apps > Integrations and select Webhooks.

2. Click Add webhook.

3. Enter a name for your webhook and provide the URL for the external service.

4. Select the required authorization type in Authorization settings. Options include:

  • None
    No authorization credentials will be included in the call request.
  • Secret token (query)
    A token name and token value will be included in the call request.
  • Basic (heading)
    The user name and password you specify will be encoded within a basic authorization heading.

5. In Notification type(s), select the triggers (changes in your WildApricot database) that will notify the external service. For detailed descriptions of each notification trigger, see Notification types below.

6. Activate the webhook by turning the Enable webhook toggle on.

7. Click Save in the top left corner of the screen.

Testing your webhook

To test a webhook, click Test webhook. When the test is complete, the test call status will be displayed. You can then click the View details link to view the test call request and response.

Notification types - trigger descriptions

The table below lists the changes in your WildApricot database that will trigger each notification type.

Type
Triggers
Contact
  • Any change to any tab of the contact details for any contact
  • Any change to contact field settings
Membership
  • Any change to the membership settings for any member
  • Any change to membership field settings
  • Changes to membership level settings will not trigger notification
EventAny change to event settings except:
  • Changes to registration forms
  • Changes to ticket types
  • Changes to event email settings or templates
Event registrationAny change to event registration details for any registrant, including:
  • New registration
  • Canceled registration
  • RSVP response
InvoiceAny change to any invoice, including:
  • New invoice
  • Modified invoice
  • Deleted invoice
  • Voided invoice
PaymentAny change to any payment, including:
  • New payment
  • Adjusted payment
  • Canceled payment
RefundAny change to any refund, including:
  • New refund
  • Adjusted refund
  • Canceled refund
Renewal
  • Existing membership renewed
Membership level
  • Any change to settings for an existing membership level
  • New level created
  • Existing level deleted
Logged email letter
  • An email is added to the email log


Notification types - JSON samples

The table below shows the format of the resulting JSON message and a sample message for each notification type.

Type
Parameters
Example
ContactContact.Id
{
"AccountId":183112,
"MessageType":"Contact",
"Parameters": 
 {"Contact.Id":3427181}
}
Event

Event.Id
Action: [Changed | Created | Deleted]


  
{
 "AccountId":183112,
 "MessageType":"Event",
 "Parameters": 
 {
  "Action":"Changed", 
  "Event.Id": 12345
 }
}
Event registrationAction: [Changed | Created | Deleted],
EventToRegister.Id,
RegistrationType.Id,
Registration.Id,
Registration.Status (absent for Action=Deleted)
{
 "AccountId":183112,
 "MessageType":
 "EventRegistration",
 "Parameters":
 {    
  "Action":"Created",
  "EventToRegister.Id":
  "3141837",
  "RegistrationType.Id":
  "4827912",
  "Registration.Id":
  "26119327"
 }
}
InvoiceDocument.Id
Action: [Changed | Created | Deleted]
{
 "AccountId":183112,
 "MessageType":"Invoice",
 "Parameters":
  {
   "Document.Id":50022474,
   "Action":"Created"
  }
}
Logged email

Email.Id
Email.EmailType
[MemberApplication_ActivationEmail = 101,
MemberApplication_InitiationEmail = 104,
MemberApplication_BundleMember_
ActivationEmail = 151,
MemberApplication_BundleAdmin_
ActivationEmail = 152,
MemberRenewal_FreeRenewal = 351,
MemberRenewal_RenewalPending = 352,
MemberRenewal_RenewalConfirmed = 353,
MemberRenewal_RenewalCanceledByMember = 355,
MemberRenewal_MemberRenewal_
RecurringRenewalFailed = 356,
MemberRenewal_Online_PaymentSuccessfull = 357,
MemberRenewal_AdvanceRenewalReminder1 = 300,
MemberRenewal_AdvanceRenewalReminder2 = 301,
MemberRenewal_RenewalDateNotice = 302,
MemberRenewal_GracePeriod = 303,
MemberRenewal_Lapsed = 304,
MemberLevelChange_InitiationEmail = 380,
MemberLevelChange_ActivationEmail = 381,
Donation_Confirmation = 400,
EventRegistration_OfflinePayment_
FreeLevelConfirmationEmail = 251,
EventRegistration_OfflinePayment_
PaidLevelConfirmationEmail = 252,
EventRegistration_OfflinePayment_
PaidLevelPendingEmail = 253,
EventRegistration_NewWaitlistEntryEmail = 254,
EventRegistration_CanceledEmail = 255,
EventRegistration_OnlinePayment_
PaidLevelConfirmationEmail = 202,
EventRegistration_Reminder1 = 260,
EventRegistration_Reminder2 = 261,
EventRegistration_Reminder3 = 262,
EventRegistration_Announcement1 = 263,
EventRegistration_Announcement2 = 264,
EventRegistration_Announcement3 = 265,
EmailBlast_Members = 501,
EmailBlast_Registrations = 503,
EmailBlast_WaitlistPersons = 504,
Finances_Invoice = 601,
Finances_PaymentReceipt = 602,
Finances_DonationReceipt = 603,
Finances_RefundNote = 604,
Contact_Password = 449,
SubscriptionForm_Confirmation = 450,
Public_MemberToMemberEmail = 451,
Poll_Announcement_Notification = 800,
ForgottenPasswordRequest = 1000,
ForumNotification = 1001,
ForumTopicNotification = 1002,
OnlineStore_Order = 1100]
Email.OriginType
[System = 0,
Contact = 1,
MembershipLevel = 2,
Event = 3,
Donation = 4,
WebPage = 5,
ForumTopicSubscription = 6,
FinancialDocument = 7,
NewPasswordEmail = 8,
OnlineStoreOrder = 9,
PollStartAnnouncement = 10]
Email.OriginId
Action [Created]

{
"AccountId":183112,
"MessageType":"LoggedEmail",
"Parameters":
  { 
     "Action":"Created",  
     "Email.Id":1234,
     "Email.EmailType":501,
     "Email.OriginType":0,
     "Email.OriginId":0
  }
}
MembershipAction:
[Enabled | Disabled |
StatusChanged | RenewalDateChanged |
LevelChanged ],
Contact.Id,
Membership.LevelId,
Membership.Status
[1 = Active, 2 = Lapsed, 3 = PendingRenewal, 20 = PendingNew, 30 = PendingUpgrade]
{
 "AccountId":183112,
 "MessageType":"Membership",
 "Parameters": 
  {
   "Action":"Enabled",
   "Contact.Id":3427181,
   "Membership.LevelId": 123,
   "Membership.Status": 1
  }
}

Membership level

Action:
[Created | Disabled | PriceChanged | RenewalStrategyChanged | TitleChanged ]
Level.Id,
Level.MembershipFee,
Level.RenewalStrategy [Never = 1 | Monthly = 3 | Quarterly = 4 | TwiceAYear = 5 | Yearly = 6],
Level.Title,
Level.Type [Bundle = 1, Individual = 2]

{
"AccountId":183112,
"MessageType":"MembershipLevel",
"Parameters":
  { 
     "Action":"Created", 
     "Level.Id":5678,
     "Level.MembershipFee":20,
     "Level.RenewalStrategy": 6 ,
     "Level. YearsCount":2,
     "Level.Title":"My title",
     "Level.Type":"Bundle"
  }
}
Membership renewal

Contact.Id
Membership.Level.Id

{
"AccountId":183112,
"MessageType":"MembershipRenewed",
"Parameters":
  { 
     "Contact.Id":1234, 
     "Membership.Level.Id":5678
  }
}
PaymentDocument.Id
Action: [Changed | Created | Deleted]
{
 "AccountId":183112,
 "MessageType":"Payment",
 "Parameters":
  {
   "Document.Id":65785678,
   "Action":"Created"
  }
}
RefundDocument.Id
Action: [Changed | Created | Deleted]
{
 "AccountId":183112,
 "MessageType":"Refund",
 "Parameters":
  {
   "Document.Id":123456778,
   "Action":"Created"
  }
}

Deleting a webhook

To delete an existing webhook, navigate to Apps > Integrations > Webhooks. Select the webhook to open it for editing, then click the Delete button at the top of the screen.

Search: WildApricot.com 

About results ( seconds) Sort by: 
Sorry, an error occured when performing search.
Powered by Zendesk