Slate Web Services Configuration Guide
How to integrate Halda's AI Campaign Email tool with Slate via Web Services.
Overview
Halda retrieves email-level delivery and engagement data from Slate to:
- Report on email performance in the Halda application
- Capture student interactions with emails
- Inform future email sends
- Sync updated data incrementally on an ongoing basis
This integration uses a Slate Web Services query and authenticates via username and password using a Web Service Grantee.
The query (including incremental and pagination logic) is delivered via the Halda Email suitcase and does not require modification.
Query Output
The Halda Email Metrics query includes:
- Message Mailing GUID
- Message GUID
- Recipient
- Status
- Delivered Date
- Updated Date (calculated)
The Updated Date field ensures:
- Engagement activity updates the timestamp
- Delivered-only emails are included
- Incremental syncing functions reliably
This logic is pre-configured in the Suitcase.
Update Mailing Name Filter for Each Campaign
The Email Metrics query includes a filter on: Message Mailing / Name
This filter determines which campaign mailings are shared with Halda.
For each new Halda campaign, your team must:
- Open the Email Metrics query
- Update the Message Mailing / Name filter
- Add the new campaign mailing name to the filter list
This ensures:
- Only Halda-related campaign emails are included
- Emails from the new campaign are shared with Halda
- A single query can support reporting across all campaigns
You do not need to create a new query per campaign for email metrics. Simply update the mailing name filter.
Performance Safeguard: 10,000 Row Limit
The query is configured with:
- Limit Rows: 10,000
This is intentional and designed to:
- Prevent slow-running requests
- Reduce risk of timeouts
- Maintain stable sync performance as data volume grows
This is not a Slate-enforced maximum — it is a performance safeguard built into the Halda configuration.
Built-In Pagination (No Campus SQL Required)
The suitcase includes pagination logic using:
- last_exported_ts (datetime cursor)
- last_exported_message_guid (tie-breaker cursor)
- limit (page size parameter)
Halda automatically:
- Requests up to 10,000 rows
- Processes results
- Advances the cursor
- Repeats until no new records remain
No SQL configuration or pagination logic needs to be written by your team.
Required Setup Steps
Step 1: Validate the Query
- Navigate to Queries / Reports
- Open the Halda Email Metrics query
- Confirm:
- Base: Configurable Joins – Message
- Execution Mode: Retrieve all records each time query is run
- Limit Rows: 10,000
Do not modify exports or built-in SQL.
Step 2: Enable Web Services
- Open the query
- Click Edit Web Service
- Set:
- Service Type: JSON
- Include NULLs: Include NULL Values
- Confirm the following Custom Parameters exist:
<param id="last_exported_ts" type="datetime" />
<param id="last_exported_message_guid" type="uniqueidentifier" />
- Click Save
Slate will generate the JSON Web Service endpoint URL.
Step 3: Configure Grantee (Username + Password)
Halda authenticates using Basic Authentication via a Web Service Grantee.
- Open the Web Service configuration for the query
- Click Edit Permissions
- Click Add Grantee
- Configure:
- Type: Username
- Username: (create a dedicated username for Halda)
- Password: (create a secure password to share with Halda)
- Permissions: Web Service
- Save
Halda will call the Web Service URL using Basic Auth with these credentials.
What to Provide to Halda
Please securely provide:
- The JSON Web Service endpoint URL
- The Web Service Grantee username
- The Web Service Grantee password
Credentials should be transmitted via a secure method.
Ongoing Sync Behavior
Halda will:
- Authenticate using the Web Service username/password
- Request records updated since the last successful sync
- Retrieve up to 10,000 rows per request
- Continue paging until no new records remain
- Store the latest cursor for the next sync
No scheduled exports or manual processes are required.
Do Not Modify
To ensure integration stability, please do not:
- Change export field names
- Modify the Updated Date formula
- Remove Web Service parameters
- Alter built-in pagination SQL
- Increase the 10,000 row limit without consulting Halda
- Change execution mode
If adjustments are required, please coordinate with Halda first.