Child Sponsorship Automations Overhaul Technical Documentation & Audit
Overview
This project attempts to standardize and simplify Child Sponsorship automations including sponsor-child relationships, child web publishing, back office management and overall process. It takes a modular approach and leverages many components of SiteStacker.
Methodology
- The project has consolidated all content types into child alone to reduce duplicate events and outcomes
- The project groups automations into 3 categories
- Publishing
- Sponsoring
- Goal Status
- This provides a clear separation of concerns, enhances readability and reduces complexity in debugging
- The project leverages folder defaults & content tagging to differentiate between CDP & Post-Secondary Children
Technical Breakdown
Spark Audit & Detailed Technical Specifications
Important Notes:
- Each bullet point represents a folder in spark’s New Child Sponsorship program
- Each numbered list item has the following format
- \[event trigger\] “Event conditions”
- Outcomes
- Descriptions follow very closely to what the sparks read from the system, but are not pure copy/pastes’; they should read more like normal language.
- The Carried From Previous Child Sponsorship Process automations are child sponsorship sparks which were not
New Child Sponsorship
- ##### Publishing
- \[Person Type Assignment\] Person Type is Child
- Creates a new unsearchable child content item in the folder 11 CDP with the child's External id populating the content item external id field
- \[Person Type Assignment\] Person Type is CDP - Available
- Moves child content item to (CDP) Available folder with Searchable status and published workflow stage, finally assigning CDP content tag.
- Removes record types from child
- CDP - Hold
- CDP - Unavailable
- CDP - Sponsored
- \[Person Type Assignment\] Person Type is CDP - On Hold
- Moves child content item to (CDP) On Hold folder with unsearchable status and published workflow stage.
- Removes record types from child
- CDP - Available
- CDP - Unavailable
- CDP - Sponsored
- \[Person Type Assignment\] Person Type is CDP - Sponsored
- Moves child content item to (CDP) Sponsored folder with unsearchable status and published workflow stage.
- Removes record types from child
- CDP - Available
- CDP - Unavailable
- CDP - Sponsored
- \[Person Type Assignment\] Person Type is CDP - Unavailable
- Moves child content item to Unavailable folder with unsearchable status and unpublished workflow stage.
- Removes record types from child
- CDP - Available
- CDP - Hold
- CDP - Sponsored
- \[Person Type Assignment\] Person Type is Post-Secondary - Available
- Moves child content item to (PS) Available folder with searchable status and published workflow state, finally adding PS content tag and removing CDP content tag.
- Removes record types from child
- CDP - Available
- CDP - Hold
- CDP - Sponsored
- CDP - Unavailable
- Post-Secondary - Hold
- Post-Secondary - Sponsored
- Post-Secondary - Unavailable
- \[Person Type Assignment\] Person Type is Post-Secondary - Hold
- Moves child content item to (PS) On Hold folder with unsearchable status and published workflow stage.
- Removes record types from child
- CDP - Available
- CDP - Hold
- CDP - Sponsored
- CDP - Unavailable
- Post-Secondary - Available
- Post-Secondary - Sponsored
- Post-Secondary - Unavailable
- \[Person Type Assignment\] Person Type is Post-Secondary - Sponsored
- Moves child content item to (PS) Sponsored folder with unsearchable status and published workflow stage.
- Removes record types from child
- CDP - Available
- CDP - Hold
- CDP - Sponsored
- CDP - Unavailable
- Post-Secondary - Available
- Post-Secondary - On Hold
- Post-Secondary - Unavailable
- \[Person Type Assignment\] Person Type is Post-Secondary - Unavailable
- Moves child content item to Unavailable folder with unsearchable status and unpublished workflow stage.
- Removes record types from child
- CDP - Available
- CDP - Hold
- CDP - Sponsored
- CDP - Unavailable
- Post-Secondary - Available
- Post-Secondary - On Hold
- Post-Secondary - Unavailable
- ##### Sponsor Automations
- \[New Recurring\] In Campaign Category Child and doesn’t have soft credit person
- Adds relationships
- Sponsor of between Donor and Campaign Owner (child)
- Affiliated Sponsor of between Donor and Campaign Owner (child)
- Adds Record types
- Sponsor to Donor
- Sends message to Child Sponsorship Notifications with subject ‘Sponsorship Opened’
- \[Canceled Recurring\] In Campaign Category Child and doesn’t have soft credit person
- Adds relationships
- Previous Sponsor of between Donor and Campaign Owner (child)
- Previous Sponsor of between Affiliated Donor and Campaign Owner (child)
- Removes relationships
- Sponsor of between Donor and Campaign Owner (child)
- Affiliated Sponsor of between Donor and Campaign Owner (child)
- Sends message to Child Sponsorship Notifications with subject ‘Sponsorship Closed’
- \[New Recurring\] In Campaign Category Child and has have soft credit person
- Adds relationships
- Sponsor of between Donor and Campaign Owner (child)
- Sponsor Sponsor of between Credit Person and Campaign Owner (child)
- Adds Record types
- Sponsor to Donor
- Sends message to Child Sponsorship Notifications with subject ‘Sponsorship Opened’
- \[Canceled Recurring\] In Campaign Category Child and has have soft credit person
- Adds relationships
- Previous Sponsor of between Donor and Campaign Owner (child)
- Previous Sponsor of between Credit Person and Campaign Owner (child)
- Removes relationships
- Sponsor of between Donor and Campaign Owner (child)
- Sponsor of between Credit Person and Campaign Owner (child)
- Sends message to Child Sponsorship Notifications with subject ‘Sponsorship Closed’
- \[Add to Cart\] In campaign category Child and in folder (CDP) Available
- Set searchable status unsearchable
- \[Remove from Cart\] In campaign category Child and in folder (CDP) Available
- Set searchable status searchable
- ##### Goal Status
- \[Monthly Recurring Goal Status Change\] Reached in campaign category Child in folder (PS) Available and amount is greater than 200.00
- Adds record type
- Post-Secondary - Sponsored to Campaign Owner (child)
- \[New Recurring\] In campaign category Child in folder (CDP) Available
- Adds record type
- CDP - Sponsored to Campaign Owner (child)
- \[Cancel Recurring\] In campaign category Child in folder (CDP) Sponsored
- Adds record type
- CDP - Hold to Campaign Owner (child)
- \[Cancel Recurring\] In campaign category Child in folder (PS) Sponsored
- Adds record type
- Post-Secondary - Hold to Campaign Owner (child)
- ##### Carried From Previous Child Sponsorship Process
- \[Failed Contribution\] In campaign category Child, is recurring and recurring that has failed 3 times
- Adds record types
- Delinquent Sponsor to Donor
- Send message to Donor with subject ‘Your Recurring Donation Transaction has Failed’
- \[Recurring Reminder\] In campaign Category Child and 15 days before scheduled run date (Yearly)
- Send message to Donor with subject ‘Your Yearly Recurring Donation is coming up!’
- \[Recurring Reminder\] In campaign Category Child and 15 days before scheduled run date (Monthly)
- Send message to Donor with subject ‘Your Monthly Recurring Donation is coming up!’
- \[Recurring Reminder\] In campaign Category Child and 60 days before campaign owner's birthday (Child birthday)
- Send message to Donor with subject ‘It’s your Sponsored Child’s Birthday!’
- \[Person Update\] Person Type is Child
- Syncs the campaign owner’s (Child) campaign name (content item) with the full name of the campaign owner (Child)
- \[New Contribution\] in campaign category Child, is recurring and is first time
- Send message to Donor with subject ‘Thank You for Sponsoring!’
- \[Person Relationship Assignment\] Sponsor of linked to Sponsored by
- Create new child letter
Site Planner
Folder structure is as follows:
? 11 CDP
│
├── ? CDP
│ ├── ? (CDP) Available
│ ├── ? (CDP) On Hold
│ └── ? (CDP) Sponsored
│
├── ? Post Secondary Children
│ ├── ? (PS) Available
│ ├── ? (PS) On Hold
│ └── ? (PS) Sponsored
│
└── ? Unavailable
11 CDP
- Defaults accounting code to SP
- Defaults unpublished & unsearchable
11 CDP > CDP
- Defaults to campaign goal amount 90
- Fixed amounts
- $40.00
- $50.00
11 CDP > Post Secondary Children
- Defaults to campaign goal amount 200
- Fixed Amounts
- $50.00
- $100.00
- $150.00
- $200.00
CRM
Configution:
Record Types (in use):
- Child
- CDP - Available
- CDP - Hold
- CDP - Sponsored
- CDP - Unavailable
- Post Secondary - Available
- Post Secondary - Hold
- Post Secondary - Sponsored
- Post Secondary - Unavailable
Contributions
Campaign Category > Child
- Use Set Amounts
- Monthly Goal Amount 90
Defaulted to CDP; has no bearing on Post Secondary
- Fixed amounts
- $50.00
- $40.00
Troubleshooting
Resolving discrepancies in the publishing is primarily a deductive task. It is recommended to review with the rules outlined in the New Child Sponsorship section to reverse engineer any potential problems.
It is helpful to understand:
- All publishing is purely controlled by record type assignment
- There are no outcomes on unassignment
- Record types are only programmatically assigned using sparks in the Goal Status folder
- Post-Secondary moves to On Hold if sponsorships are canceled at any point (fully sponsored or partially sponsored)
- The scope of Goal Status sparks is important - They only affect folders they are configured to listen to and their child folders.
UI Tips
- On the CRM ‘Record Details’ tab in admins CRM component you can click the clipboard in the top right to see content items and where they are published.
In Site Planner Content explorer you can click the column headers to add the id column to more precisely identify items.
Updated on: 14/04/2026
Thank you!
