<style>p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
.fr-fic.fr-dii {
float: none; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fil {
float: left; margin: 5px auto;
}
.fr-fic.fr-dii.fr-fir {
float: right; margin: 5px auto;
}
img.fr-dib.fr-fir {
margin-right: 0; text-align: right;
}
img.fr-dib.fr-fil {
margin-left: 0; text-align: left;
}
img.fr-dib {
margin: 5px auto; display: block; float: none;
}
img.fr-bordered {
box-sizing: content-box; border: solid 5px #CCC;
}
img.fr-shadow {
box-shadow: 10px 10px 5px 0px #cccccc;
}
img.fr-rounded {
border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;
}
</style><style>
p {
margin: 0;
}
span.fr-emoticon.fr-emoticon-img {
background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle;
}
span.fr-emoticon {
font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0;
}
blockquote {
border-left: solid 2px #5e35b1; color: #5e35b1; margin-left: 0; padding-left: 5px;
}
blockquote blockquote {
border-color: #00bcd4; color: #00bcd4;
}
blockquote blockquote blockquote {
border-color: #43a047; color: #43a047;
}
table.grid {
border-collapse: collapse;
}
table.grid td,
table.grid th {
border: 1px solid #ddd;
}
.fr-fic.fr-dib {
display: block; margin: 5px auto;
}
.fr-fic.fr-dib.fr-fir {
text-align: right; margin: 5px 0 5px auto;
}
.fr-fic.fr-dib.fr-fil {
text-align: left; margin: 5px auto 5px 0;
}
</style><p data-pasted="true"><strong>In this guide we will cover:</strong></p><p><strong>- What are Custom Table Imports via Email and CSV?</strong></p><p><strong>- Prerequisites</strong></p><p><strong>- Setting up Custom Table Imports</strong></p><p><strong>- Troubleshooting</strong></p><p><br></p><p><strong><span style="font-size: 14pt;">What are Custom Table Imports via Email and CSV?</span></strong></p><p>This guide explains how to set up automatic custom table imports in Halo using email rules and CSV files. The process allows you to update custom tables by simply emailing CSV files to your Halo instance.</p><p><br></p><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 14pt;">Prerequisites</span></strong></p><ul data-darkreader-inline-color=""><li style="font-size: 11pt;">Access to Halo configuration settings</li><li style="font-size: 11pt;">A custom table already created in Halo</li><li style="font-size: 11pt;">CSV file with data matching the custom table structure</li><li style="font-size: 11pt;">Halo Integrator enabled for your instance</li></ul></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 14pt;">Setting up Custom Table Imports</span></strong></p><p data-darkreader-inline-color=""><strong><span style="font-size: 11pt;">1. CSV File Preparation</span></strong></p><div class="section-block"><ul style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color=""><li>Ensure your CSV file name exactly matches your custom table name</li><li style="box-sizing: inherit;">Verify that your CSV columns match the custom table fields</li></ul></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 11pt;">2. Email Rule Configuration</span></strong></p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color="">Navigate to: Configuration > Email > Email Rules</p><p style="box-sizing: inherit; margin: 0px; line-height: 1.4285em; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color=""><br></p><ol data-darkreader-inline-color=""><li style="font-size: 11pt;">Click "New Email Rule"</li><li style="font-size: 11pt;">Set the Email Rule Name</li><li style="font-size: 11pt;">Select "Custom Table Import via CSV" as the Email Rule Type</li><li style="font-size: 11pt;">Configure matching criteria:<ul><li style="font-size: 11pt;">From address</li><li style="font-size: 11pt;">To address</li><li style="font-size: 11pt;">Subject line</li><li style="font-size: 11pt;">Body content</li><li style="font-size: 11pt;">Attachment name matching</li></ul><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijc4MGZjZWQ5LTQ4MDEtNDRmOC04ZWMyLTBkOWZiN2YzNGZkOSJ9.IHmnQrFXFMc0yemlE9v7e0sIZuJclKX0VIHxXpUYLwM" class="fr-fic fr-fil fr-dib fr-rounded" width="523" style="width: 525px; height: 349.791px;" height="350"></li><li style="box-sizing: inherit; font-size: 11pt;">Set the sequence number to determine rule priority</li><li style="box-sizing: inherit; font-size: 11pt;">Save the email rule</li></ol></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 11pt;">3. Custom Table Configuration</span></strong></p><p data-darkreader-inline-color=""><span style="font-size: 11pt;">Configure your custom table settings in Configuration > Custom Objects > Custom Tables</span></p><p data-darkreader-inline-color=""><span style="font-size: 11pt;">Verify the following settings:</span></p><ul style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color=""><li>Table name matches your CSV filename exactly <img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjI2YWFhNTllLWVlZWMtNGFhMi1hOTNlLWFjNmJkZGZiMDQzZiJ9.9QnCOh1MwxLCjmTMiBI-vkGfHAZQyHVJ4FMbDWHBXv0" class="fr-fil fr-dib fr-rounded" alt="Custom Table Name Example" style="width: 474px; height: 495.067px;" width="472" height="495"></li><li>Import keys are properly configured for row matching <img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ1M2RlZDgzLWMxZTMtNDMyOS05ZWI1LWY4NjU3ZWUzZjQ4NSJ9.FpGS3aTwueO-p6chqQFwPPB3r1txqmpB7TOAnP2mmdE" class="fr-fil fr-dib fr-rounded" alt="Import Key Configuration" style="width: 467px; height: 420.112px;" width="465" height="420"></li></ul></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 11pt;">4. Scheduled Imports Configuration</span></strong></p><p data-darkreader-inline-color=""><span style="font-size: 11pt;">The Scheduled Imports module provides the core functionality for custom table imports.</span></p><ol style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color=""><li>Navigate to Configuration > Integrations</li><li style="box-sizing: inherit;">Locate and enable the "Scheduled Imports" module <img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ0ZWJiOTAzLTE0OTMtNDJkNS04MWNjLTc5ODAzZmVmNWQ2ZSJ9.VzE7mbfzAUgii5aZPJj1aCBRrVAIdIioeQvdmwTs_SQ" class="fr-rounded fr-fil fr-dib" alt="Scheduled Imports Module Location"></li><li>Open the module settings</li><li>Enable Halo Integrator syncing for custom table imports</li></ol></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 11pt;">5. Halo Integrator Configuration</span></strong></p><div class="info-box hosted"><p data-darkreader-inline-color=""><span style="font-size: 11pt;"><strong>For hosted customers:</strong></span></p><ul style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color=""><li>The cloud-hosted Halo Integrator runs nightly by default</li><li>No additional configuration needed</li></ul></div><div class="info-box on-premise"><p data-darkreader-inline-color=""><span style="font-size: 11pt;"><strong>For On-Prem installations:</strong></span></p><ul style="box-sizing: inherit; margin-bottom: 1rem; margin-top: 0px; color: rgb(0, 0, 0); font-family: Poppins, sans-serif, Roboto; font-size: 14px; --darkreader-inline-color: #e8e6e3;" data-darkreader-inline-color=""><li>Follow the detailed Halo Integrator setup guide <a href="https://usehalo.com/haloitsm/guides/1062/" target="_blank" rel="noopener noreferrer">here</a></li><li>Enable the custom table import integration in your local Halo Integrator</li></ul></div></div></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 11pt;">Using the Import Process</span></strong></p><ol data-darkreader-inline-color=""><li style="font-size: 11pt;">Send an email matching your configured rule criteria with your properly named CSV file attached</li><li style="font-size: 11pt;">The email rule will capture the incoming file</li><li style="font-size: 11pt;">The next Halo Integrator run will process the import</li></ol></div><div class="section-block"><p data-darkreader-inline-color=""><strong><span style="font-size: 14pt;">Troubleshooting</span></strong></p><ul data-darkreader-inline-color=""><li style="font-size: 11pt;">Verify CSV filename exactly matches the custom table name</li><li style="font-size: 11pt;">Ensure all mandatory columns are present in the CSV</li><li style="font-size: 11pt;">Check email rule matching criteria if files aren't being captured</li><li style="font-size: 11pt;">Review Halo Integrator logs for processing errors</li><li style="font-size: 11pt;">Verify the Halo Integrator is enabled and running</li></ul></div><div class="search-tags" style="display: none;">custom table import, CSV import, email rules, automated import, data import, table updates, Halo Integrator, scheduled imports, bulk data, custom tables, email automation, CSV configuration, data migration, table maintenance, automated updates, Halo configuration, data management, CSV processing, email integration, table administration, data upload, batch import</div>