Skip to main content

Tyler Odyssey / Enterprise Justice (SFTP)

This integration sends upcoming hearings and party contact details from Tyler Technologies' Odyssey or Enterprise Justice case management system to eCourtDate every night. Odyssey runs an Electronic Custom Report (ECR) built for eCourtDate, and the output file is delivered to an SFTP server the court operates. eCourtDate connects to that server every hour, retrieves the new file, and processes it into Clients, Contacts, Cases, and Events so the court's reminders send without manual data entry.

In this guide, "Odyssey" means Odyssey or Enterprise Justice. The integration works with Tyler-hosted (AWS SaaS) and on-premises Odyssey. Data flows one way: eCourtDate reads the file and does not create or change records in Odyssey.

How It Works​

Who Does What​

Complete Steps 1 to 5 in the Odyssey Test environment against an eCourtDate staging agency, then repeat them for Production in Step 6.

StepWhoWhere
1. Confirm the ECR with TylerCourt administrator and the Tyler Technologies Client Success/Account Manager (CSAM)Tyler
2. Schedule the reportCourt Odyssey administratorOdyssey
3. Connect the report by SFTPThe court's IT team (or Tyler, for Tyler-hosted Odyssey), then the eCourtDate agency administratorThe court's SFTP server and the eCourtDate Console
4. Set up the ECR Monitor ReportCourt Odyssey administratorOdyssey
5. Confirm the fileeCourtDate agency administratoreCourtDate Console
6. Go liveAll of the aboveOdyssey Production and the production agency

Step 1: Confirm the ECR with Tyler Technologies​

Contact the court's Tyler Technologies CSAM and confirm:

  • ECR availability: the eCourtDate court reminder ECR is available for the court's Odyssey instance and deployed in both the Test and Production environments. Odyssey lists it as Texas OCA Court Reminder with eCourtDate.
  • Client ID: the value to enter for each court in the report parameters.
  • Extract directory path: the directory the report writes its output file to.
  • Hosting: whether Odyssey is Tyler-hosted (AWS SaaS) or on-premises. Scheduling the report works the same way for both. Hosting decides who delivers the file to the court's SFTP server in Step 3 and whether the ECR Monitor Report in Step 4 is available.

Step 2: Schedule the Report in Odyssey​

Complete this step in the Odyssey Test environment first. Step 6 repeats it in Production. The screenshots in this step and in Step 4 are adapted from Tyler's Deployment/Configuration Guide (PDF).

Set the report parameters​

Open Reports > Custom Reports > Texas OCA Court Reminder with eCourtDate and complete the parameters:

The report parameters screen in Odyssey, with Location, Client ID, Case Type, Party Connection Type, Days, and Output Format fields

ParameterWhat to enter
LocationThe Odyssey nodes (courts) whose cases and parties should receive reminders.
Client IDThe court's identifier from the Tyler CSAM. Texas courts enter their OCA court identifier; search for it by county, court name, or identifier in Texas OCA Court Identifiers.
Case TypeThe case types whose hearings should be included.
Party Connection TypeThe party types that should receive reminders.
DaysHow many days ahead to look for hearings. Enter 30 or fewer.
Output FormatCSV Format.

When a county has more than one court, schedule one job per court, each with that court's own Client ID and Location.

Schedule the job​

  1. Select Schedule.

  2. In Add Job Schedule Entry, fill in the Start Date and Start Time, then select the rotating arrows icon on the blue Job Definition ribbon to open the recurrence settings.

    The Add Job Schedule Entry dialog, with arrows pointing to the Start Date and Start Time fields and the recurrence icon on the Job Definition ribbon

  3. In Add Job Recurrence, set:

    • Comment: the court name, matching the node selected in the Location parameter (for example, "Example County Court").
    • Start Time: 10:00 PM or 11:00 PM in the court's local timezone. A late-evening run captures the full day of changes, and eCourtDate processes the file overnight. Do not schedule closer to midnight: a run that slips past midnight counts the Days window from the next date.
    • How often does this job recur: Daily, every 1 day.
    • When does this recurrence start and end: the start date and No end date.
    • Job sequencing: Run recurring job as configured.

    The Add Job Recurrence dialog, set to a 10:00 PM daily recurrence with no end date and the court name in the Comment field

  4. Click Save.

Copy the output to the extract directory​

  1. In Add Email Notification Recipients, check Copy Job Files to Directory.

  2. In Directory, enter the extract path from the Tyler CSAM followed by the environment folder: \Test in the Test environment, \Prod in Production. For example:

    \\odfile\odyssey-extracts-fs\STATE\COURTNAME\eCourtDate\Test
    \\odfile\odyssey-extracts-fs\STATE\COURTNAME\eCourtDate\Prod

    The Add Email Notification Recipients dialog, with Copy Job Files to Directory checked and the Directory field highlighted

  3. Click Finish.

Step 3: Connect the Report to eCourtDate by SFTP​

Each night's file is delivered to an SFTP server the court operates, and eCourtDate connects to that server every hour to retrieve it. The court's IT team (or Tyler, for Tyler-hosted Odyssey) prepares the server first, then the eCourtDate agency administrator adds it in eCourtDate. The integration does not use manual uploads.

Deliver the file to the court's SFTP server (Tyler or the court's IT team)​

  • Tyler-hosted (AWS SaaS) Odyssey: Tyler configures the SFTP Upload Job to deliver the file from the extract directory to the court's SFTP server.
  • On-premises Odyssey: the court's IT team makes the file available on the court's SFTP server, either by using a directory on that server as the extract directory or with a scheduled transfer such as Tyler's SFTP Upload Job.

Schedule any transfer to run after the report finishes each night. Deliver Test and Production files to separate directories (for example, /ecourtdate/test and /ecourtdate/prod) so the staging and production agencies each read only their own file.

Give eCourtDate access (the court's IT team)​

  1. Create an SFTP account for eCourtDate with access to the directories that receive the file. Use SSH key authentication. For eCourtDate to remove each file after processing it, the account also needs permission to delete files.
  2. On the server's firewall, allow inbound SSH (port 22 unless the server uses another port) from eCourtDate's IP addresses. The eCourtDate agency administrator copies these from the Console in the next section.
  3. Send the eCourtDate agency administrator these details. Share a private key or password only through a secure channel, never by email or chat.
SettingValue
Host or IP AddressThe server's public hostname or IP address
PortThe SSH port (22 by default)
UsernameThe account created for eCourtDate
AuthenticationThe account's private key (.pem) or password
DirectoryThe directory that receives the report file

Add the court's server in eCourtDate (eCourtDate Console)​

  1. In the Console, open SFTPs and click Add Server.

  2. In Create Server, enter a Name (for example, Court SFTP), set Hosting to Your own server, set Type to SFTP, select the staging Agency, and click Create. Managed by eCourtDate is only for servers that eCourtDate hosts.

    The Create Server dialog with Hosting set to Your own server and Type set to SFTP

  3. On the server's Overview tab, copy the addresses under Whitelist IP Addresses and send them to the court's IT team for the firewall rule.

  4. Open the Settings tab, enter the details from the court's IT team, and click Save:

    FieldWhat to enter
    Host or IP AddressThe server's public hostname or IP address.
    UsernameThe account created for eCourtDate.
    PasswordThe account password. Leave it blank when the account uses a key.
    Private KeyThe account's private key. To upload the .pem file instead, use Upload Private Key below the form.
    PortThe SSH port. Default: 22.
    TimeoutConnection timeout in seconds. Default: 30.
    Source DirectoryThe root directory of the eCourtDate account (for example, /ecourtdate). SFTP Profiles choose their directories relative to it.
    Statusdeployed.
  5. Click Test connection at the top of the server page. A successful test reads "Connection successful" followed by the host and response time. Unable to connect points to the firewall rule, the host, the port, or the credentials.

One server record serves both the staging and production profiles, so the server is added once. See Server Setup for more detail on each field. If the court does not operate an SFTP server, eCourtDate can host one instead; see Managed Server.

Create the Upload Template and SFTP Profile (eCourtDate)​

  1. In the Agency app (staging or production), open Uploads > File Templates, find the Tyler Tech Odyssey Events sample, and click Import. eCourtDate creates an Upload Template named Tyler Tech Odyssey Events in the agency and opens it, with the report's columns (listed in Data Included) already mapped to eCourtDate fields and records matched by Party ID (clients), Event ID (events), and Case Number (cases). The standard ECR needs no further mapping. Sample on the same card downloads a CSV of the column headers the template expects. See Upload Templates for each setting.

  2. On the court's server page in the Console, click SFTP Profiles, then Add SFTP. Choose the staging Agency and click Create. The new profile is linked to the court's server and opens with Auto Sync off.

  3. On the profile's Settings tab, set these fields and click Save:

    FieldWhat to enter
    Auto Sync EnabledChecked. New profiles start with it off and show an "Auto sync is disabled." warning until it is on.
    SFTP NameA label, such as Odyssey ECR (Test).
    Source Directorytest: the Test directory, relative to the server's Source Directory. Enter the relative path, not /ecourtdate/test.
    Upload TemplateTyler Tech Odyssey Events, the template imported in step 1.
    Filename KeywordText that appears in every report file name, so the profile picks up only the report.
    Delete File After UploadOn by default. Leave it on when the eCourtDate account can delete files, and turn it off when it cannot.
    Failure Grace Period24 (the default) for a nightly file.
    On-Failure Notification ContactsEmails or phone numbers of the staff to notify when a sync fails or no file has uploaded within the Failure Grace Period.
  4. On the profile's Connection tab, confirm it reads "Connected via Server" and click Test Connection.

Step 4: Set Up the ECR Monitor Report​

The ECR Monitor Report emails a court administrator about each nightly run of the ECR, so a run that errors, does not happen, or is still running is caught without checking Odyssey. Tyler provides it for Tyler-hosted (SaaS) Odyssey. Configure it in Odyssey with:

FieldWhat to enter
Report NameTexas OCA Court Reminder with eCourtDate
Email AddressThe administrator who should receive the monitoring email.
Email SubjectA subject line for the email (for example, "ECR Monitor").
ContactA name and phone number to include in the email for assistance.
Notifications to MonitorMonitor Completed, Monitor Errors, Monitor Not Found, Monitor Currently Running.
Output FormatPDF Format.

The ECR Monitor Report form in Odyssey, with the report name, email address, subject, contact, all four notifications checked, and PDF output

The email lists the job process ID, report name, start date, status, user, and a message such as "Report has not ran today." when the scheduled run did not happen. Confirm the first email reaches the right people.

A sample ECR Monitor email reporting that the court reminder report has not run today

On the eCourtDate side, the On-Failure Notification Contacts set on the SFTP Profile in Step 3 are notified when a sync fails, and when no file has uploaded within the Failure Grace Period (24 hours by default), which catches a nightly file that never arrived. On-premises courts rely on these notifications, because the ECR Monitor Report is provided for Tyler-hosted Odyssey.

Step 5: Confirm the File in eCourtDate​

eCourtDate retrieves a new file and starts processing it within an hour of its arrival on the court's SFTP server.

  1. In the Agency app (staging or production), open Uploads. The report file is listed under its file name. Open it to see the processing status, the number of records created, updated, and skipped, and any rows with errors.
  2. Compare a few hearings against Odyssey: party name, phone, email, hearing date and time, location, and case number.
  3. In the Console, the SFTP Profile's header shows Last active, the last time Auto Sync ran. A red banner on the profile shows the error from a failed run.

If the file does not appear, see Troubleshooting. This step confirms the data only; message templates and flows are set up in Step 6.

Step 6: Go Live in Production​

  1. Odyssey: Repeat Step 2 in the Production environment with the \Prod directory, and confirm the ECR Monitor Report covers the Production run.
  2. Delivery: Deliver the Production file to its own directory on the court's SFTP server (for example, /ecourtdate/prod).
  3. eCourtDate: In the production agency, open Uploads > File Templates and import the Tyler Tech Odyssey Events sample. Then, on the court's server page in the Console, click SFTP Profiles, then Add SFTP, choose the production agency, and set up the profile as in Step 3 with Source Directory prod. The production profile uses the same server record, so no second server or firewall change is needed. Settings can be copied from the staging agency rather than rebuilt; see How to copy settings from one agency to another.
  4. Messaging: Build the production agency's message templates and flows for hearing reminders, then review the generated messages in the Console before enabling delivery. See How to Create Message Templates, How to Create a Flow, and Merge Tags.
  5. Confirm: Repeat Step 5 against the production SFTP Profile once the first Production file arrives.

Checklist​

  • Confirmed ECR availability, Client ID, extract directory path, and hosting type with the Tyler CSAM
  • Set the report parameters: Location, Client ID, Case Type, Party Connection Type, Days (30 or fewer), and CSV Format
  • Scheduled the job to recur daily at 10:00 PM or 11:00 PM, copying output to the \Test extract directory
  • Delivered the file to a Test directory on the court's SFTP server
  • Created an SFTP account for eCourtDate, allowed eCourtDate's IP addresses through the firewall, and sent the connection details
  • Added the court's server in eCourtDate with Hosting set to Your own server, and Test connection succeeded
  • Imported the Tyler Tech Odyssey Events Upload Template and created an SFTP Profile on the court's server with Source Directory test, and checked Auto Sync Enabled
  • Set up the ECR Monitor Report and confirmed it emails the right people
  • Confirmed the file under Uploads in the Agency app and checked its records against Odyssey
  • Repeated the setup in Production with the \Prod directory and a production SFTP Profile (Source Directory prod), and confirmed the file in the production agency

Troubleshooting​

ProblemWhat to checkContact
The report does not generate, or the ECR is missing from Custom Reports.The ECR is deployed in that Odyssey environment.Tyler CSAM
The ECR Monitor email shows an error or "Report has not ran today."The job's schedule and recurrence in Odyssey, and access to the extract directory.Tyler CSAM, or the court's IT team for directory access
The file does not reach the court's SFTP server.The SFTP Upload Job or transfer, its schedule, and the destination directory.Tyler for Tyler-hosted Odyssey, or the court's IT team for on-premises Odyssey
Test connection shows Unable to connect.The firewall allows every address under Whitelist IP Addresses, the Host and Port are correct, the SFTP service is running, and the username and private key or password match the account (with the password blank when a key is used). See SFTP Errors.The court's IT team
The profile's Test Connection shows "Invalid SFTP credentials".The profile has no server selected. On its Connection tab, select the court's server and click Save Connection.eCourtDate agency administrator
The file is on the server but not under Uploads in the Agency app.Auto Sync Enabled is checked, an Upload Template is selected, the file sits directly in the profile's Source Directory (entered relative to the server, such as test), the file name contains the Filename Keyword, and an hour has passed since the file arrived. A file whose name matches an earlier upload is skipped.eCourtDate agency administrator
The Upload shows row errors or missing records.The report's column headers match the template's (Sample on the Tyler Tech Odyssey Events card under Uploads > File Templates downloads them), and the template's date and time formats. See Upload Templates.eCourtDate agency administrator
Attorneys, bond agents, or payment details are needed.The standard ECR does not include them. See Data Included.Tyler CSAM

Data Included​

The ECR includes these columns for each party on an upcoming hearing. The Tyler Tech Odyssey Events Upload Template maps every one of them.

FieldReport ColumnDescription
Party IDPartyIDUnique identifier for the party in Odyssey. The template matches clients on it.
First Name and Last NameFirstName, LastNameParty name.
Party DescriptionDescriptionThe party's role on the case (for example, defendant).
Preferred LanguageLanguageLanguage preference for notifications.
PhonePhonePhone number for message delivery.
Phone TypePhoneTypeThe type of phone number recorded in Odyssey.
EmailEmailEmail address for message delivery.
Event IDEventIDUnique identifier for the hearing in Odyssey. The template matches events on it.
Event Date and TimeEventDate, EventTimeScheduled hearing date and time.
Event StatusEventStatusCurrent status of the hearing.
Case TypeCaseTypeThe type of case the hearing belongs to. The template stores it as the event type.
Location NameLocationWhere the hearing takes place.
Judge NameJudgeNameAssigned judge.
Case NumberCaseNbrOfficial case number. The template matches cases on it.

Notifying attorneys or bond agents, adding case details, or sending payment notifications requires a custom report from Tyler Technologies with the additional fields. The Upload Template maps any column in the file. For data that no report provides, build a custom integration with the eCourtDate REST API.

Frequently Asked Questions​

Can the report run more often than nightly? For updates during the day, use an API integration instead of the nightly report. If the court licenses the Tyler Technologies API Toolkit, see Tyler Odyssey / Enterprise Justice (API). To build a custom integration, see the eCourtDate REST API.

Does eCourtDate write data back to Odyssey? No. Data flows from Odyssey into eCourtDate only. eCourtDate reads the file from the court's SFTP server and does not create or modify records in Odyssey.

Need Help​

eCourtDate helps with any step of this setup: