This registration page may not work well in Internet Explorer. Please use a different browser to complete your registration.

Candidate Workshop 201: From Curiosity to Candidacy

April 30, 2026 9:00 AM - 12:00 PM (CDT)

Description


The Center for Civic Engagement Candidate Workshop 201: From Curiosity to Candidacy is a workshop for individuals who want to take a deeper look at what it truly means to run for public office. Building on the fundamentals introduced in Candidate Workshop 101, this session explores the practical components of an organized campaign including planning, fundraising, voter outreach, messaging and campaign operations. Participants will leave with a clearer framework to help evaluate a potential run and better understand the commitment, structure and strategy behind a successful campaign.


Agenda

9 a.m. | Welcome and Workshop Overview

Shannon Full, President and CEO, FMWF Chamber

9:15 a.m. | Running an Organized Campaign

Velocity Public Affairs

  • Building Your Campaign (30-60-90 Days)
  • Weekly Campaign Rhythm
  • Fundraising Basics
  • Voter Outreach Strategy
  • Campaign Messaging
  • Campaign Presence

10:30 a.m. | The Fundraising Playbook and Q&A

Jonathan Casper, Founder at Great States Development and Brian Lunde, Partner at Advocates Inc., D.C.

11 a.m. | Panel Discussion

Panelists: Jonathan Casper, Carl Kuhl and Brian Lunde

11:30 a.m. | Closing Remarks 

Charlie Adams, Director of the Center for Civic Engagement, FMWF Chamber

11:35 a.m. | Open Networking

Noon | Event End

*agenda is subject to change

Location

FMWF Chamber

Enter through the West doors - held in the Community Room

Pricing

No Cost - registrated required

Contact Information

FMWF Chamber of Commerce
Name: Charlie Adams
Email: cadams@fmwfchamber.com
We're sorry. No registrations are currently available. You may wish to contact the event organizer for assistance.
{{ vm.EventInfo.ErrorMessage }}

Select Registration Options

Edit
{{vm.regWarningMessage}}
{{vm.regAlertMessage}}

Exhibitor Opportunities

Name Price Att Qty
{{ et.Name }}
{{ et.IncludedAttendeesCount }} {{ et.AttendeeRegType.RemainingPerType }} Remaining {{ et.AttendeeRegType.RemainingPerType * -1 }} on Waiting List {{ et.AttendeeRegType.RemainingPerType * -1 }} Over Limit
{{ et.Remaining }} Remaining
Sold out

Attendee Registration Options Total Remaining: {{ vm.EventInfo.VacantSpotsPerEvent }}

Waiting List Available
{{ vm.stats.totalAttendeesCount }} Registered , {{ vm.OverallOverAmount() }} on Waiting List , {{ vm.OverallOverAmount() }} Over Limit
Name Price Qty
{{ rt.Name }}
{{ rt.IsMemberOnly ? ' (Members Only)' : '' }}
Limit: {{ rt.LimitPerPurchase }}
Included Attendees: {{ rt.AttendeesCountPerOneRegistration }}
{{rt.Price | currency }} {{rt.PriceAfterDiscount | currency }} {{ rt.Price | currency }}
{{ rt.RemainingPerType }} Remaining
{{ rt.RemainingPerType * -1 }} on Waiting List
{{ rt.RemainingPerType * -1 }} Over Limit

{{'[[Sponsorship]] Opportunities' | localizeString:'['}}

Name Price Att Qty
{{ st.Name }}
{{ st.IncludedAttendeesCount }} {{ st.AttendeeRegType.RemainingPerType }} Remaining {{ st.AttendeeRegType.RemainingPerType * -1 }} on Waiting List {{ st.AttendeeRegType.RemainingPerType * -1 }} Over Limit
{{ st.Remaining }} Remaining
Sold out
Continue

Registration Information

Edit

Exhibitor - {{er.Name}}

Exhibitor #{{ $index + 1 }}

Total: {{exhibitor.TotalPrice | currency}} {{ exhibitor.IsBenefit ? "- Included as a Benefit" : exhibitor.IsDiscounted ? "- Discounts have been applied" : ""}}
Exhibitor Directory
Primary Contact
Booth Information
Additional Information
Additional Items

Attendee - {{er.Name}}

{{ att.getAttendeeTerm(vm.EventSettings.AdditionalAttendeesTerm, $index) }} #{{ att.getAttendeeIndexDisplay(vm.EventSettings.AdditionalAttendeesTerm, $index) }}

Total: {{att.TotalPrice | currency}} {{att.DiscountMessage | localizeString:'['}}
A No Show fee is being assessed for {{fee.EventName}} on {{fee.EventStartLocalTimeString}}.

Address


Phone

Additional Information
Event Sessions

{{slot.Name}}

{{$select.selected.SessionName}}
(full)
{{slot.SelectedSession.SessionDescription + (slot.HasFees ? " (Price: " + (slot.PriceTotal | currency) +")" : "")}}

Additional Items

{{'[[Sponsorship+]]' | localizeString:'['}} - {{er.Name}}

{{'[[Sponsor]]' | localizeString:'['}} #{{ $index + 1 }}

Total: {{sponsor.Price | currency}}
Continue

Additional Items

Edit

{{(vm.EventInfo.Terms.Donation || "Fundraising") + " Opportunities"}}

Campaign Name Item Description Amount
{{item.CampaignName}} {{item.Description + (item.ShowMinimumPrice && item.MinimumPrice ? " (Min: " + item.MinimumPrice + ")" : "")}}
Continue

Complete Registration

Edit

Terms & Conditions

No Show Policy

{{ vm.EventInfo.EventSettings.NoShowPolicy }}

Enter Promo Code

Billing Contact

Registration Protection

This event is synced to a webinar so no confirmation email will be sent from GrowthZone.

Thank you to our {{'[[Sponsor+]]' | localizeString:'['}}