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.