Skip to content
  • There are no suggestions because the search field is empty.

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:

  1. Open the Email Metrics query
  2. Update the Message Mailing / Name filter
  3. 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:

  1. Requests up to 10,000 rows
  2. Processes results
  3. Advances the cursor
  4. 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

  1. Navigate to Queries / Reports
  2. Open the Halda Email Metrics query
  3. 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

  1. Open the query
  2. Click Edit Web Service
  3. Set:
    • Service Type: JSON
    • Include NULLs: Include NULL Values
  4. Confirm the following Custom Parameters exist:

<param id="last_exported_ts" type="datetime" />

<param id="last_exported_message_guid" type="uniqueidentifier" />

  1. 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.

  1. Open the Web Service configuration for the query
  2. Click Edit Permissions

  3. Click Add Grantee
  4. Configure:
    • Type: Username
    • Username: (create a dedicated username for Halda)
    • Password: (create a secure password to share with Halda)
    • Permissions: Web Service
  5. 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:

  1. Authenticate using the Web Service username/password
  2. Request records updated since the last successful sync
  3. Retrieve up to 10,000 rows per request
  4. Continue paging until no new records remain
  5. 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.