đ Note: Complete the inbound sync first (Slate to Element451: Setting Up the Inbound Data Sync). The outbound sync depends on identifiers established by the inbound flow.
Overview
This walkthrough sends Bolt outputs back to Slate. Two scheduled Element451 Export tasks deliver two CSV files to your Slate SFTP server: a leads file (new and updated people, including inquiries captured by Bolt agents) and a conversations file (conversation activity). Slate Source Formats with Import Automation process each file, attaching conversations to person records as Slate Interactions.
đ Note: For a Bolt agent to capture a lead, the agent needs the Inquiry Flow skill enabled. Inquiry Flow collects first name, last name, email, and academic interest, which creates a contact record that can be exported. Visitors who never identify themselves remain anonymous and will not appear in any export. See Bolt Agent Skills.
The data contract
Leads file | Conversations file | |
Contents | All contacts in your export segment at each run, including Bolt-captured inquiries | One row per conversation |
Key columns | Element ID, first name, last name, email, phone, birth date, inquiry source and date, plus fields you map | Element ID, Conversation GUID, conversation topic, conversation date, conversation type, conversation summary, and optionally the full conversation transcript |
File naming | yourschool_leads_<date>.csv | yourschool_convos_<date>.csv |
Delivery | Element451 exports over SFTP to the folder your Slate administrator designates (for example /incoming/element/) | Element451 exports over SFTP to the folder your Slate administrator designates (for example /incoming/element/) |
Cadence | Typically daily, on schedules you control. Land the leads file first | Typically daily, on schedules you control. Land the leads file first |
Import order in Slate | First | Second, after leads processes |
What it writes in Slate | Slate creates, updates, or ignores each record based on its matching rules | Creates Interactions attached to matched people |
Export behavior. Each Element451 export run typically includes all contacts in the selected segment, not just changes. Slate decides per record whether to create, update, or ignore based on its matching rules, which is what lets updates flow automatically. Only the fields you map in each Source Format are written. We recommend dedicated Slate fields for Bolt engagement data so AI outputs never collide with fields owned by other processes.
â ď¸ Import order matters. Configure Slate Import Automation so the lead import runs before the conversation import. The person record must exist, with Element ID populated, before Interactions try to attach. Staggering the two export schedules (leads earlier) reinforces this. Verify order in Slate's Job Activity Monitor.
Step 1: Confirm Slate-side requirements
Work with your Slate administrator to confirm before building anything:
SFTP connection details Slate will provide: hostname, port, username, authentication method (password or SSH key), and destination folder path (for example /incoming/element/)
Accepted file format (CSV or tab-delimited) and required column headers
Matching logic and destination objects (Person and Interaction)
The Element ID custom field exists, and optionally Element Created Date. See Element ID and Slate ID for setup and the Unique for Merging recommendation
Step 2: Create the export tasks in Element451
Go to Data + Automations > Import + Export > Exports, click +, select Data, and confirm.
Leads export. On the Segment tab, choose the segment to send to Slate (for example, people created or updated by Bolt). Map columns per the data contract above. Include birth date when available. Slate's dedupe works far better with it.
Conversations export. Create a second export task, set Repeat Fields Based On to Conversation so each row is one conversation, and map the conversation-level fields in the contract. Add Full Conversation Transcript if you want the complete exchange in Slate, and include Conversation GUID so every row can be traced back to its conversation.
On each task's Configuration tab, use the standard settings:
Setting | Value |
Format / Extension | CSV |
Encoding | UTF-8 |
Headers | Included (Export first row as a header, on) |
Filename | Date-stamped so every file is unique, for example |
Destination | SFTP, pointed at the Slate host, port, credentials, and folder from Step 1 |
Schedule each task (daily is typical). Land the leads file before the conversations file. Turn on the Notification option to get an email if a run fails.
Step 3: Configure Source Formats in Slate
Create one Source Format per file (leads and conversations) in Database > Source Formats. Your Slate administrator owns these settings; the essentials are:
Set the format to match the file (CSV with headers) and scope to Person records.
Set Update-Only to allow record creation on the leads Source Format, so new Bolt inquiries create records.
On the Import Automation tab, point each Source Format at its file pattern in the destination folder, for example
/incoming/element/yourschool_leads_*.csvand/incoming/element/yourschool_convos_*.csv. Distinct filename masks are how Slate tells the two feeds apart, so keep the naming distinct.Configure the automation so the lead import runs before the conversation import.
After the first files arrive, use Edit Mappings on each Source Format. On the leads Source Format, map the Element ID column to your Element ID custom field.
đĄ Tip: To expedite testing, use Force Process Pickup and then Force Process Import from the Slate database page instead of waiting for the automation window.
Conversation mapping
Map the conversations file so each row becomes an Interaction:
Element451 field | Slate destination |
Element ID | Person matching field (your Element ID custom field) |
Conversation GUID | No Slate field needed. It keeps each row traceable to its conversation in Element451 |
Conversation Topic | Interaction Subject |
Conversation Date | Interaction Date |
Conversation Type | Interaction Code |
Conversation Summary | Interaction Comments, or Interaction Subject if you also send the transcript |
Full Conversation Transcript (optional) | Interaction Comments |
â ď¸ Timeline visibility. A summary mapped only to Interaction Comments may not appear in the interaction list view on the person record. Map the conversation topic into Interaction Subject so every conversation is legible right on the timeline. If your team prefers the full summary visible there, map the summary itself to Interaction Subject instead. A resulting timeline entry looks like:
Interaction: Element Conversation | Date: May 7, 2026 | Subject: Student asked about FAFSA deadlines and scholarship eligibility.
You can also combine topic and summary in the Subject during Source Format mapping, for example "Financial Aid Question - Student asked about FAFSA deadlines and scholarship eligibility." Keep subjects concise and readable.
đ Note: To send the whole exchange, not just the summary, add Full Conversation Transcript to the conversations export and map it to Interaction Comments. A transcript is created when a conversation closes, so a conversation that is still open exports without one. Conversation data in Slate refreshes on the sync schedule you configure, and the full conversation is always available inside Element451.
Validate and go live
Before enabling schedules, run a test export from Element451 to the Slate SFTP server, confirm the file structure matches the Source Format configuration, run the import in Slate, and verify person records are created correctly, Element ID is populated, and Interactions appear on the person record with subjects visible on the timeline.
If some rows show an empty transcript in the export Preview tab or in the test file, check whether those conversations have been closed. A transcript is only created once a conversation closes, and the Conversation GUID in each row tells you which conversation it is. This is most noticeable for students with several open conversations.
Go-live checklist:
Element ID field created in Slate (Element Created Date optional)
Both Source Formats configured, lead and conversation imports configured
Lead import runs before conversation import
SFTP connection verified
Test records validated successfully end to end
If you send transcripts, a long multi-message conversation imports into Slate intact
Build against your Slate test environment first, then repoint the SFTP destination and automations to production. Questions along the way? See Element451 + Slate: FAQs and Troubleshooting.
