Interactions Export for SFTP Connections
What the interactions export is and how to configure it for your SFTP or Slate Halda integration.
Your SFTP connection already sends inquiries to your CRM. The interactions export adds a second file to that same connection: a CSV of what students did after they inquired. Text conversations, phone calls, engagement scores and website browsing, delivered on a schedule you set.
Every row is keyed to the same Halda ID your inquiry export already sends, so the file joins cleanly to records your CRM has. Enrollment teams use it to build behavioral segments, prioritize outreach lists and report on activity that lives outside the CRM.
How the file is shaped
One row per student, per interaction type. The interaction_type column tells you which one you're looking at. A student who texted and took a call gets two rows. A student with no phone activity gets no phone row at all.
| Column | What it holds |
|---|---|
halda_id |
The student's Halda ID. This is the same value your inquiry export sends. |
interaction_type |
SMS, Phone, Engagement or Page Views. |
After those come any contact columns you opted into, then the fields you selected for each interaction. Field columns carry their interaction as a prefix: sms_message_count, phone_call_count, page_views_top_page.
Turning an interaction off removes its columns entirely. The file preview at the bottom of the settings screen always shows the exact column set you're about to send.
Before you start
You need three things.
- An SFTP connection that's already saved on the account. The interactions export attaches to a connection, so set the connection up first.
- The manage integrations permission on your Halda user. Without it the settings screen returns a permission error.
- A folder your SFTP user can write to. Halda creates the folder if it isn't there yet.
Set it up
1. Open the connection. Go to Settings, then Integrations, then open your SFTP or Slate connection.
2. Find Interactions Export. On the Configure Integration Type screen you'll see a row for it. Click Edit.
3. Confirm the export is on. The "Send this export" toggle controls delivery. Switch it off any time and Halda keeps your settings without sending a file.
4. Set the destination. The folder defaults to /incoming/halda/interactions and the file name defaults to interactions_export. Halda adds the .csv extension, lowercases the name and turns spaces into underscores. Check the full path preview under the field before you move on, because that's exactly where the file lands.
5. Pick a schedule. Choose an hourly cadence anywhere from every hour to every 24 hours, or choose Week and pick a day. This schedule runs independently of how often the connection delivers inquiries, so a real-time inquiry feed can still receive a once-a-day interactions file.
6. Add contact columns if you want them. Email, first name, last name and mobile phone are all available and all off by default. The halda_id column already identifies the student, so treat these as a convenience for humans reading the file.
7. Choose your interactions and fields. Toggle on each interaction you want, then open its dropdown and pick the fields. SMS and Phone arrive on by default. Engagement Score and Page Views start off.
8. Download the test file. The button sits next to the file preview. It gives you a sample CSV with your exact columns and a few example rows, which is the fastest way to check the shape against whatever will consume it.
9. Save. Your settings take effect on the next scheduled run.
What you can include
SMS Conversations (on by default)
Covers text threads between Halda and the student.
| Field | Notes |
|---|---|
| Message count | Total messages in the thread, both directions. On by default. |
| Last message date | On by default. |
| Last direction | inbound if the student sent the last message, outbound if Halda did. |
| Opt-in status | On by default. See the note below. |
| Transcript | The full thread, one message per line, prefixed with the sender. |
| Conversation summary | Halda's generated summary of the thread. |
Opt-in status reports SMS marketing consent specifically. A student shows opted_in only when they've given the consent that allows campaign texts. Every other state exports opted_out.
Transcripts replace Halda's short links with the real destination URL, so the exported text shows where a link actually pointed.
Phone Conversations (on by default)
Covers inbound and outbound call activity.
| Field | Notes |
|---|---|
| Call count | Every call with this student. On by default. |
| Total talk time | Summed across all calls, formatted as 11m32s, or 1h2m3s once it passes an hour. On by default. |
| Last call date | On by default. |
| Call disposition | How the most recent call ended. |
| Recording URL | Link to the most recent call's recording. |
| Conversation summary | Summary of the most recent call. |
| Transcript | Transcript of the most recent call. |
Call count and total talk time cover every call. The remaining fields describe the most recent call only.
Engagement Score (off by default)
Halda's composite score for how engaged a student is.
| Field | Notes |
|---|---|
| Score value | The current score, rounded to two decimals. |
| Score tier | The band the score falls into. |
| 30-day change | Current score minus the most recent score at least 30 days older. Blank when the student has no score that far back. |
| Last updated | When the current score was calculated. |
Page Views (off by default)
Covers browsing on pages where Halda's tracking script runs.
| Field | Notes |
|---|---|
| Total page views | Every page view Halda recorded for this student. |
| Unique pages | Distinct page paths visited. |
| Last visit date | The most recent recorded view. |
| Top page | The path this student viewed most. |
| Session count | Views grouped into sessions, with a new session starting after 30 minutes of inactivity. |
What happens on each run
Halda rebuilds the CSV from scratch and writes it to the same path every time, replacing the previous file. Make sure your process picks the file up before the next run.
The first delivery includes every student with activity in the interactions you enabled. After that, a student appears only when they have activity newer than the last successful delivery. The values themselves stay all-time totals, so a returning student's sms_message_count is their lifetime count rather than the count since the last file.
Failed uploads don't skip anyone. Halda advances the marker only after a delivery succeeds, so a run that fails resends on the next attempt.
Archived students and demo records never appear in the file. Dates use your account's time zone.
Troubleshooting
The file has headers and no rows. No student had new activity in your enabled interactions since the last delivery. This is normal on a frequent cadence and on a quiet week.
Save is greyed out. Either the destination folder or the file name is empty. Both are required while the export is on.
"Not authorized to manage integrations." Your user is missing the manage integrations permission. An admin can grant it.
Some cells start with an apostrophe. Transcripts and page paths that begin with =, +, - or @ get a leading apostrophe so spreadsheets treat them as text instead of running them as formulas. Strip it in your import if it gets in the way.
A column you expected is missing. The interaction is switched off, or the field isn't selected inside its dropdown. Open the file preview at the bottom of the settings screen to see the real column list.
The file name doesn't match what you typed. Halda normalizes it: lowercase, spaces become underscores and the .csv extension is added for you. The path preview under the field shows the final result.
Turning it off
Switch "Send this export" off and save. Delivery stops and your folder, schedule and field selections stay exactly as you left them, ready for whenever you turn it back on.
Need assistance getting your interaction export configured? Reach out to your Partner Success Consultant.