Policies: Intelligent Gift Coding
Automate gift coding with plain-language rules. Chariot's AI applies your policies to every incoming donation.
Policies are Chariot’s auto-coding engine. You define rules in plain language, and Chariot automatically applies them to every incoming donation.
Instead of manually assigning campaign codes, source codes, or fund designations to each gift, you define the logic once and let Chariot do the work.
How policies work
A policy is a set of rules (called clauses) that tells Chariot how to code donations.
When a new donation arrives, Chariot evaluates it against your active policy and automatically assigns values to the relevant fields.
Active Policy
The policy currently set live. This policy runs automatically on all incoming donations.
Reference Panel
A panel containing all available donation fields. Use the @ symbol to reference these fields when writing policy clauses.
Plain Language
Clauses are written in plain language (i.e., “If the @purpose contains ‘membership,’ assign @source code to MBRSH”)
Draft Policies
Saved policies that are not active. Use drafts to prepare and review changes before publishing. Useful for campaign or fiscal year transitions.
Documents
Uploaded CSV files that policies can reference for lookups, such as constituent matching or code mapping.
Activity Log
A record of what changed on a donation. Shows which fields were updated and when.
Execution Summary
Explains why changes were made. Shows how the policy evaluated the donation and which clauses were applied.
Manually Enrich
A way to apply a policy to existing donations. Re-runs the policy logic on selected records.
Best Practice: Maintain a single primary policy that covers your full set of coding rules, and update it as your codes evolve. Use lightweight, single-clause policies for targeted enrichment when backfilling or updating a specific field.
Video tutorial
Creating Your First Policy
Step-by-Step
Navigate to the Policies tab in your Chariot dashboard.
Click "Create Policy" to start a new policy.
Name your policy — use a descriptive name like "FY2026 Primary Coding Policy."
Add sections and clauses. Policies are organized into sections, each containing one or more clauses. Use the chat bot to describe the rule you want applied. The clause will be built for you based on your description.
Publish your policy. When you're ready to test your new rules and have the rules apply to all new donations, click publish on your newly created policy.
Test on sample donations. After publishing your policy, select a few donations and click "Enrich" when prompted to apply the newly published Policy. Review how it codes existing donations to confirm it works as expected.
Iterate and update your published policy. After successfully testing your new policy and confirming the results, you can start evaluating how it codes future donations. The rules you've established will automatically apply to all upcoming donations.
You can't add a new property from within Policies. If you'd like to have your policy make an update to a new custom field, first add this from your Donations page. Once added, this new property will appear in your Reference Panel within the Custom Properties section.
Writing Effective Clauses
Clauses should be specific and unambiguous. The chat bot will help you write your clauses effectively. Here are examples of well-written clauses:
If the Purpose or Note note contains "scholarship," set Fund to "SCHOLAR"
Assigns a fund code based on purpose
If the payer is Benevity, set Gift Type to "Workplace Giving"
Tags all Benevity gifts with a category
If the donor last name matches a name in the uploaded constituent list, assign the matching Constituent ID
Cross-references your CRM data for ID matching
If the amount is greater than $10,000, set Review Status to "Needs Review"
Flags large gifts for manual review.
If the @DAFpay URL is not blank (indicating a DAF gift), extract the event name from the eventName field in @DAFpay details and set @Event to that value.
Assign event value found in DAFpay details.
Avoid vague language. A clause like "code gifts appropriately" is too broad for the AI to build a rule for you. Be specific about which field to set and under what condition.
Uploading Documents for Reference
Policies can reference uploaded CSV files to perform data lookups. This is especially useful for:
Constituent matching — Upload a CRM export with donor names and constituent IDs. Instruct the policy to match incoming donor names against the list and assign the corresponding ID.
Code tables — Upload a mapping of purpose keywords to campaign codes so the policy can look up the correct code automatically.
To upload a document:
Download or build a CSV with the data you'd like Policies to reference organized in columns that you will reference in your policy rules. (E.g. if you'd like to reference a file to apply Constituent IDs, you might upload a CSV like this:
1200401
Jane Stone
230 Main Street S
Atlanta
203004
William Smith
102 Parkland Drive
Woodbury
Go to the Documents tab within the Policies section.
Upload your CSV file.
In your policy clause, reference the document by name — for example: "Using the uploaded file 'CRM_Constituents.csv,' match the donor on incoming donations to constituent IDs by matching the Donor Name or Donor Address or City. If there is a match, assign the value from the 'Constituent ID' column into the Constituent ID column."
Managing Policies
Active vs. Draft
Active policy: Runs on all new incoming donations. Only one policy can be active at a time.
Draft policies: Saved but not running. Use drafts to prepare for upcoming changes (new fiscal year codes, campaign transitions) without affecting current processing.
Switching Policies
To switch your active policy:
Go to the Policies tab.
Open the draft policy you want to activate.
Click Set Live.
The previously active policy automatically becomes a draft and rules within won't apply to future donations.
This makes campaign transitions seamless — prepare the new policy in advance, then switch with one click when the new period begins.
Enrichment: Applying Policies to Past Donations
Enrichment lets you re-run a policy on donations that have already been processed. This is useful when:
You've updated your coding rules and want historical donations to reflect the changes.
You need to back-fill a new custom property across past donations.
A campaign code changed mid-cycle and you need to update earlier gifts.
How to Run Enrichment
Select the donations you want to enrich — either individually, in a filtered batch, or all donations matching specific criteria.
Choose the policy to apply.
Run enrichment. Chariot re-evaluates each selected donation against the policy and updates the relevant fields.
Enrichment won't change manually updated values but will override policy updated values. If a donation already has a value in a field that the policy updated, enrichment will replace it you updated rules that change the outcome. The policy will not update or change manually updated values.
Enrichment Best Practices
Filter first, then enrich to run enrichment on only some of your past donations.
Check the Activity Log after enrichment to verify that changes were applied as expected.
The Activity Log
Every donation has an Activity Log accessible from its detail panel. The log records:
When a policy was applied (timestamp).
Which policy and which clause within that policy triggered.
What values were assigned and why.
Manual changes made by team members after the policy ran.
Use the Activity Log to:
Troubleshoot unexpected coding — if a gift was coded differently than expected, the log shows exactly which clause fired and what data it evaluated.
Audit changes over time — see the full history of how a donation's properties have evolved.
Verify enrichment results — after running enrichment, check a sample of donations to confirm the policy applied correctly.
Last updated