Configuration - JaiminBrahmbhatt/Global-Entry-Appointment-Scanner GitHub Wiki

Configuration

Config is stored at:

~/.config/global-entry-scanner/config.toml

Override the path with the GES_CONFIG_PATH environment variable:

GES_CONFIG_PATH=/path/to/my.toml global-entry-scanner scan

Full example

[scanner]
check_interval = 900   # seconds between polls when no error (default: 900 = 15 min)
error_interval = 60    # seconds between polls after an error (default: 60)
limit = 5              # max appointments to fetch per location per check (default: 5)

[locations]
ids = [5001, 5140]     # enrollment center IDs — run `global-entry-scanner locations` for the list

[notifications.console]
enabled = true         # print notifications to the terminal

[notifications.email]
from_email = "[email protected]"
to_email   = "[email protected]"
password   = "your-password-or-app-password"
smtp_host  = "smtp.gmail.com"
smtp_port  = 587

[notifications.discord]
webhook_url = "https://discord.com/api/webhooks/1234567890/xxxx"

[notifications.slack]
webhook_url = "https://hooks.slack.com/services/T00000000/B00000000/xxxx"

[notifications.sms]
account_sid = "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
auth_token  = "your_twilio_auth_token"
from_number = "+12125550000"   # your Twilio number
to_number   = "+12125551234"   # number to notify

Section reference

[scanner]

Key Default Description
check_interval 900 Seconds between polls when everything is healthy
error_interval 60 Seconds between polls after a network/API error
limit 5 Max appointment slots to fetch per location

[locations]

Key Type Description
ids list of integers Enrollment center IDs to monitor. Find IDs with global-entry-scanner locations.

[notifications.console]

Prints slot notifications directly to the terminal. No credentials needed.

Key Default Description
enabled false Set to true to enable

[notifications.email]

Sends notifications via SMTP (port 587, STARTTLS). Works with any provider.

Key Default Description
from_email Email address to send from
to_email Address to deliver notifications to (can be the same)
password Password or app password for SMTP auth
smtp_host smtp.gmail.com SMTP server hostname
smtp_port 587 SMTP server port

See Notification Channels → Email for per-provider credential instructions.

[notifications.discord]

Key Description
webhook_url Full Discord webhook URL

See Notification Channels → Discord for setup steps.

[notifications.slack]

Key Description
webhook_url Full Slack webhook URL

See Notification Channels → Slack for setup steps.

[notifications.sms]

Key Description
account_sid Twilio Account SID (starts with AC)
auth_token Twilio Auth Token
from_number Your Twilio phone number (E.164 format, e.g. +12125550000)
to_number Destination phone number (E.164 format)

See Notification Channels → SMS for setup steps.


Finding location IDs

global-entry-scanner locations

Prints every enrollment center with its numeric ID, city, state, and full name. Use the ID number in your [locations] section.

Example output:

  5001  Austin, TX  (Austin Enrollment Center)
  5140  Dallas, TX  (Dallas Fort Worth Int'l Airport)
  5181  Chicago, IL (Chicago O'Hare International Airport)

Editing config manually

The file is plain TOML — open it in any text editor and save. Re-run global-entry-scanner scan to pick up the changes.