Teamraiser - Bring Back a Team from more than one event-year ago
While managing a Teamraiser event on the admin side, you are able to edit a team's details and associate that team with a team from not just the previous event but previous events spanning multiple years (following the chain of “previous event” selections through the years of events).
Is there a way to allow a participant to bring back a team (during registration) from an event further down the chain than the directly preceding event?
Our use-case is, with the weird year of 2020/21 and covid, it would be nice to allow users who may have lapsed during this time the ability to bring back teams from 2019. Using s-tags or an API call we can track those previous registrations and prompt the user during registration, but we cant get the link to work for the “bring back this team” button for teams from events more than 1 event-year back.
The format for the URL to bring back a team is
https://…/site/TRR?pg=tfind&fr_id=0000&fr_treform=00000&skip_login_page=true
We tried just plugging in the lapsed team ID to this url to test and received an error, though the error appears unrelated ("the participant must be a team captain to bring back that team" -- oddly, the participant I tested it on was the team captain, so I'm not sure why that error is appearing).
Please let me know if you have done this successfully or have any ideas on how to implement!
Comments
-
Jeffrey Kaplan:
While managing a Teamraiser event on the admin side, you are able to edit a team's details and associate that team with a team from not just the previous event but previous events spanning multiple years (following the chain of “previous event” selections through the years of events).
Is there a way to allow a participant to bring back a team (during registration) from an event further down the chain than the directly preceding event?
Our use-case is, with the weird year of 2020/21 and covid, it would be nice to allow users who may have lapsed during this time the ability to bring back teams from 2019. Using s-tags or an API call we can track those previous registrations and prompt the user during registration, but we cant get the link to work for the “bring back this team” button for teams from events more than 1 event-year back.
The format for the URL to bring back a team is
https://…/site/TRR?pg=tfind&fr_id=0000&fr_treform=00000&skip_login_page=trueWe tried just plugging in the lapsed team ID to this url to test and received an error, though the error appears unrelated ("the participant must be a team captain to bring back that team" -- oddly, the participant I tested it on was the team captain, so I'm not sure why that error is appearing).
Please let me know if you have done this successfully or have any ideas on how to implement!
Hi @Jeffrey Kaplan !
Thinking this through the only idea I have would be to fudge the data in to the system as though you held the 2020 event and the teams you are interested in attended.It wouldnt be ideal, but, you would be able to get the effect you are looking for.
What I would think could be a possible solution is to create a registrations report for your 2019 event to gather the details on the participants and teams you'd need, and then do a registration import to just import everyone as free registrants, in the same teams they were for the 2019 event for the year that was missed.
You could potentially setup a new “Covid Pandemic / Unable to Attend" participation type to import them as where the registration fee is $0 so that you'd be able to register them free, and segment them apart from anyone that may have registered for your 2020 event (if you held limited registrations or anything like that).
Then, you'd have the data in the system that'll allow you to have teams return even though the Covid pandemic prevented you from actually holding the event last year.
For more information on TeamRaiser registration imports you can reference this documentation:
1 -
Full disclosure, I have not built this nor tried making it work all the way through but I did test out some parts of the process quickly to see how well they worked. It could require a full API build for both registration and looking up the previous events. I apologize in advance for the length of this post!
Step 1 ) Identifying the previous event IDs.
You can go back as far as you want but I've tested this 5 years back. Essentially, the idea is that you could use Noah Cooper's “Roll Your Own API” solution which is here on the forums. I tried to find a link to it but couldn't with a quick search. If I find the link I'll come back and update this post with it. That allows you to use a PageBuilder page to create your own API utilizing S-Tags which is the key here as I don't believe the API provides you with previous FR_ID data, though if I'm incorrect let me know.Using that method you would send a parameter which would be the current FR_ID. With that you would start nesting E42 calls to get back previous years.
[[E42:[[S334:fr_id]]:prev-fr-id]] - Last Year
[[E42:[[E42:[[S334:fr_id]]:prev-fr-id]]:prev-fr-id]] - 2 Years Ago
[[E42:[[E42:[[E42:[[S334:fr_id]]:prev-fr-id]]:prev-fr-id]]:prev-fr-id]] - 3 Years Ago
…etc
Since the response using the “RYOAPI” method will be in JSON you would now have a list of FR_IDs going back as far as you need it. It's dynamic as you are passing the initial/current FR_ID to start the process.Step 2) Using getTeamsByInfo to find the last event the user participated in
This is assuming you have made the user login before starting this process AND they are the team captain of the team they wish to bring back. I suppose there could be a method for non-team captains but I haven't thought through that.In order to ensure the data you get back from getTeamsByInfo is the data you're looking for, you'll want to include a filter using list_filter_column=captain_cons_id and insert the current logged in user's cons_id as the list_filter_text. This will ensure you're only finding the user you want and that they were the captain of the team. Finding out what this column to filter by is truly trial and error. I wish Blackbaud would provide us a list of columns we can filter by. Sometimes they match the API response data, sometimes not. It's often a guessing game. If someone has a list of columns available for API methods, I will upvote all of your ideas on the LO ideas site as payment.
Personally, I would stop as soon as you found a result from a previous year (checking against totalNumberResults from the response data). Otherwise, I would iterate over each FR_ID you received from Step 1 displaying an error message if nothing was ever found after the entire process concludes which would mean the user didn't have a previous team.
Once you have found a previous team entry, you'll have a wealth of data about the team which can be used to process the registration via the API. You'll likely want to store that in a variable for use later on or pass it to the next function.
Step 3) Register the user via processRegistration
Here are the caveats. We're basically manipulating the system to let us “bring a team back” but we really aren't bringing a team back. We're registering a new team but we're able to access information about the previous registration to make it a quicker process. I suppose there are other methods you could use to store the data in the session and auto-fill the normal registration fields instead of using the API. If it were me, though, I would likely use the API.Step 4) Bonus steps post registration (completely untested – thinking out loud)
Since we now have the old team information we could also attempt to bring back more information for that team including team photo (getTeamPhoto > uploadTeamPhoto), team page (getTeamPageInfo > updateTeamPageInfo) and team member data (getTeamRoster) which could then be used to possibly add contacts to the constituents address book. You could create a new Address Book Group (addAddressBookGroup) and potentially add that team roster to their list of contacts.I have also used getTeamRoster in the past to give the user an option post registration (on confirmation) to send an email to all of their team members by clicking a button. This didn't require them to go into Participant Center to send it. The API method sendTafMessage allows you to pass in a comma separated list of email address and the content/envelope info for the message. I did something to the effect of “We're getting the band back together! Click here to join me again this year…”.
------
Again this is all mostly untested in the real world but I did test creating a list of FR_IDs and pulling the previous years team info in. Both worked. However, to the system this won't be a lapsed team returning. It'll just be a new team starting that year. I suppose it depends on what you're after. Data integrity or an easy way for participants to rejoin. As I mentioned there are probably ways to integrate some of what I've written to make the standard registration a bit easier by auto-filling in fields.
Even if this all seems like way too much to bite off, hopefully it sparked some ideas.
Best of luck!
1 -
Thanks for the thorough and thoughtful response Richard! We ended up using a similar approach to steps 1 through 3, using session variables to populate the normal registration fields rather than through the API.
I like the bonus ideas you came up with (step 4) to imitate the missing functionality of bringing back a team using API calls after the registration completes (this could be done on the thank you page). I was hoping there was some way to just hook in to the existing functionality of bringing back a team but this seems like a good manual way around the limitations.
0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 1 YourCause® from Blackbaud®
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 124 Ninja Secret Society
- 32 Blackbaud Raiser's Edge NXT® Receipting EAP
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 1.1K ARCHIVED FORUMS | Inactive and/or Completed EAPs
- 3 Blackbaud Staff Discussions
- 7.7K ARCHIVED FORUM CATEGORY [ID 304]
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board