Skip to main content
Groupe à la une

Commons Project: Summit Events App

The Summit Events App is a sustainable open source community events app that serves a broad variety of needs for EDUs and NGOs, built within the Salesforce Open Source Commons program. The event solution has the flexibility needed to offer events of different types: paid, free, group, guests, and individual. The solution will include the full life cycle of the event: registration, receipting, confirmation, reporting and web faced exposure. This solution facilitates a Salesforce connected campus and will be compatible with Salesforce.org’s Data Architectures. Note: This application is being built with a focus on Higher Education. That being said, the project understands the application has value for both K-12 and nonprofit audiences. This project encourages other uses and welcomes any support around increasing the flexibility of its architecture.

Wrapping Up the Virtual Community Sprint! 

 

We were thrilled to gather online on August 11-12, 2026 for two days of collaboration, innovation, and community!  

 

122 attendees joined us, representing an incredible array of folks working within the Nonprofit and Salesforce ecosystems, End Users, Administrators, Developers, Architects, and Industry Partners from around the world. 

 

To everyone who joined and gave your time...thank you. Your commitment to building together is what makes this community so powerful. 

 

Ready to dive into the full recap? 

https://sfdo-community-sprints.github.io/docs/sprints/2026/2026-08-1112-Sprint/

 

Couldn't attend the Virtual Sprint? Join a future event! See what's next up for the Nonprofit Community Team:

 

@Nonprofit and Education MindShare

@Commons Project: Memberships

@Commons Project: NP SF How-to Series

@Commons Project: DLRS

@Commons Project: Salesforce Indicators

@Commons Project: Summit Events App

0/9000

Hi, I'm currently working in an org that uses the Summit Events app which was installed by another admin. I'm trying to figure out what the picklist values mean in the Contact and Lead Matching Mapping custom metadata types. 

 

For the field "Contact Matching Method" the documentation says to set the value to "Admissions", but the previous admin has selected "Blue". The other options are red, green, and yellow. Does anyone have any info on what these mean? Thank you.

4 réponses
0/9000

I'm having trouble adding payments to a Summit Events registration page, and need help. 

 

I have filled in the Payment Gateway fields on the Summit Event record, and have it successfully redirecting the registration to a payment page I built. However, when I click the "submit" button on my payment page and try to redirect back to the Summit Events registration page, I get an error saying I can't see the Summit Events page that I'm trying to access in the community and I don't know what to do about it. 

 

What page should I be redirecting to when I'm done, and what method should I be doing to get to that page? Currently what I'm trying is using the encrypted cookie from the browser as recommended here. I have also looked the sample recipe from @Thaddaeus Dahlberg that is located here.

 

String encryptedEventInfo = EncodingUtil.urlEncode(getSeaCookie(false), 'UTF-8'); // This just returns the "SummitEvents" cookie, still encrypted

PageReference pageRef = new PageReference(Site.getBaseSecureUrl() + '/summit__SummitEventsConfirmation?eventInfo=' + encryptedEventInfo);

pageRef.setRedirect(true);

return pageRef;

6 réponses
  1. 19 août, 17:57

    Hey @Matthew Hubert!

     

    I think I see the gap. Are you redirecting straight from your payment page back into summit__SummitEventsConfirmation? If so, that's likely part of it (though in theory what you did should work). 

     

    I'm going to reference later this TouchNet UPay gateway I built out. I think you are looking at the old SOAP connection one which I'm unsure if it still works. Here is the new repo: 

     

    https://github.com/tcdahlberg/Summit-Events-App-TouchNet-UPay

     

    In every payment integration I've built for SEA, I've always used a dedicated Callback page as the landing spot after the gateway is done, rather than sending the browser straight into the packaged confirmation page. There's a good reason for this beyond just cleanliness: SEA is a managed package, and by Salesforce's design you can't see inside its execution or its error handling so if something goes wrong on the packaged confirmation page, all you get back is a generic, unhelpful "you don't have access" message with no way to debug it further. 

     

    A page you own gets you real visibility, and gives you options SEA's own pages don't:

    • Before redirecting anywhere, decrypt and inspect the SEA cookie yourself to confirm the registration state actually made it through the round trip intact.
    • If you find something wrong at that point, you can redirect to SEA's Submit page and pass an error message as a URL parameter (?error='this is an error), so the registrant sees something meaningful instead of a dead end.
    • Once things check out, redirect on into summit__SummitEventsConfirmation as normal.

    I use a similar pattern in my TouchNet UPay connector  (not Authorize.net), but the cookie/token handling is useful as a reference in the class UPayHelper.cls:

     

    • getSeaCookie(true) reads and decrypts the SummitEvents cookie directly
    • getSummitEventsInfo() deserializes that into a wrapper with registrationId, eventId, instanceId, audience, and dt — so you can log/inspect exactly what SEA thinks the registration state is, right before you decide where to send the user next

    If the cookie comes back empty or malformed on your Callback page, that's your root cause. If it's intact, you've got real data to work with instead of guessing at what happened inside the packaged confirmation page. 

     

    I hope maybe this helped but am willing to carry on the conversation here or DM me if you want to meet. 

     

    Thanks!

0/9000

A big part of holding an event is the preparation.

  • Pick a venue
  • Choose a theme
  • Decide on the audience
  • Invite people

 

The last one can fairly easily be handled in Salesforce, but is not part of Summit Events. SEA touches on the invitation step by providing a link to register - just the HTML code to embed in your invitation or website. 

 

Inviting people can be targeted (i.e. a list of specific people to invite) or broadcast. The former needs manual work to compile a list (and find their email addresses, social media accounts or snail mail address), but the latter can be a website page or social media post (or even a printed flyer). 

 

SEA provides a simple tool for the broadcast invitation, but not the targeted one. 

 

My proposal is to provide a way for the admin to gather a list of Lead and/or Contact records for the invitation, and track their responses on the Summit Event Instance record page. This seems like a good fit for Campaigns & Campaign Members, but there's no integration between Campaigns and SEA. 

 

Campaigns can deal with sending emails to a large group. 

 

Things that would make this work:

  • Flag a campaign as a Summit Event
  • Tie the campaign to a specific Summit Event Instance
  • When a Campaign Member is added to such an event, create a Summit Event Registration record with status = Invited
  • Use Email Templates with merge fields to craft the invitation - this only works if the Campaign object has fields that are populated from the related Summit Event Instance because Salesforce won't do cross-object merge fields in Email Templates.  This would require custom fields (formulas?) on Campaign that bring in data from the related Event Instance.
  • Merge fields include the registration link
  • Ideally, each Campaign Member has a unique registration link so you can easily tie the registration back to the Summit Event Registration (already created)
  • Add to all this the concept of "decline". I want to know who has received the invitation but can't attend and wants me to know that. To support this concept, there could be:
  • The Registration page could have a Decline option
    • Or, a new Decline page could be used that just identifies the invitee and asks them to confirm that they want to decline (and gove a reason why). This would require a new page, and a link to it in the invitation email.

I hope this gives you some ideas on how we can improve SEA to cover this important process.

6 réponses
  1. 17 août, 18:59
    That's a good approach. Campaigns are better for email sending & tracking than other objects.
0/9000

Hi Folks, 

 

Is there an existing Data Dictionary worksheet I can grab? I can't seem to find one

1 commentaire
0/9000

Events & Event Instances are being created via screen flow. There are several reports of Instances that have been created and are not displaying on the calendar on the Experience page. It appears this is isolated to manually created Instances. 

 

There is a particular example of an Event with 2 Instances. One displays on the May calendar with the respective date. The Instance with a July date does NOT display on the calendar. Data compared via Inspector; no visible differences in records. Confirmed the following are correctly populated: Summit Instance Time Zone, Active Status, Start Date, End Date, Program. 

 

Expected Behavior: Both Event Instances display on calendar

2 réponses
0/9000

With our current form builder,  Formassembly,  we first lookup if the subscriber exists as a contact, if they don't, we then lookup if they exist as a lead. If contact exists, update the contact, else if they exist as a lead, then update that record instead. If neither exists, it only creates a lead. Can this plan function in the Summit App? Here's our flow chart for our open house form connector 

5 réponses
  1. 24 juil., 21:10

    I can vouch for flow! We have used a Record Triggered Flow whenever a summit events registration record is created and meets certain entry criteria to search for a lead and convert the lead if found. We also use the same flow to create/update opportunities for prospective students.

0/9000

I was pointed toward SEA and am starting to explore the documentation which acknowledges that SEA was created with education in mind. I'm looking for implemented examples that bypass some of these features to help me confirm that SEA might meet our needs. 

 

If you evaluated SEA and chose another solution, I'm interested in that, too. 

 

Thanks!

5 réponses
0/9000

I edited the "Feed Registration Button Text" to "RSVP" because that is what we would like to show on the registration link. However, the button is still showing as "Register". Any tips?  

Feed Registration Buttonimage.png

1 réponse
  1. 2 juil., 15:20

    @Maria Loza,  you made a good assumption here, but unfortunately that field isn't used to set the front end registration button label. This is a good idea and in our backlog to get done soon: 

     

    https://github.com/SFDO-Community/Summit-Events-App/issues/534

     

    What that field does control is the language that appears in our REST API for helping to build external event listings outside of Salesforce. The REST API is powerful, but probably beyond the scope of explaining in this answer. 

0/9000

I've hit an obstacle installing SEA in a sandbox. 

 

On

this page

, in the section named: Apply Summit Events Registrant permission set and the custom permission set you created to the Guest User of your site, I'm blocked at step 6. 

 

First, there's no "Edit Assignments" button. There are two buttons at the top of the Profiles page, "Edit" and "View Users." "View Users" seems to get me to the right page. There's a single user (Site Guest User, Summit Events) in the Full Name column. When I click on the name, the next page has a section called "Permission Set Assignments," but when I click on Edit Assignments, I get this message: 

 

Your account has been disabled

  

Your company administrator has disabled access to the system for you. Please contact your administrator for more information.  

 

I'm a system administrator for the salesforce org. 

4 réponses
  1. 2 juil., 15:15

    @Alan Halpern, sometimes you get the, "Your account has been disabled," error when the site you have created is not yet active. When a site is not active, there is no guest user created for it yet.  Take a few steps back and got to setup -> Sites and make sure the "Active" checkbox for you site is checked. If it isn't checked yet, activate the site and then follow instructions again for assigning the guest user permissions. I only mention this because in the countless times I have had to set up SEA I occasionally get this error and it takes a beat for me to figure it out. Let me know if this was the issue or if your troubles continue.

0/9000