Notification Channels - JaiminBrahmbhatt/Global-Entry-Appointment-Scanner GitHub Wiki
Notification Channels
All configured channels fire concurrently when a new appointment slot is found. One failing channel never blocks the others — failures are logged and the scan continues.
Console
Prints notifications directly to the terminal. Zero configuration required.
This channel is automatically enabled if you run setup and don't select any other channel.
Config:
[notifications.console]
enabled = true
Sends notifications via SMTP (port 587, STARTTLS). Works with any email provider.
Setup
Run global-entry-scanner setup and select email. You'll be prompted to pick your provider — the SMTP host and port are filled in automatically. For Other, you'll enter the host and port manually.
Supported providers and the credential they require:
| Provider | SMTP host | Credential |
|---|---|---|
| Gmail | smtp.gmail.com | App password (required if 2-Step Verification is on) |
| Outlook / Hotmail | smtp.office365.com | Password or app password |
| Yahoo Mail | smtp.mail.yahoo.com | App password (required) |
| iCloud Mail | smtp.mail.me.com | App-specific password |
| Zoho Mail | smtp.zoho.com | Password |
| Other | your SMTP host | SMTP password |
Config:
[notifications.email]
from_email = "[email protected]"
to_email = "[email protected]"
password = "your-password-or-app-password"
smtp_host = "smtp.gmail.com" # set automatically by setup
smtp_port = 587 # set automatically by setup
from_emailandto_emailcan be the same address.
Existing configs without smtp_host/smtp_port continue to work — they default to smtp.gmail.com:587.
Discord
Sends a message to a Discord channel via an Incoming Webhook.
Setup
- Open your Discord server and go to the channel you want notifications in
- Click the gear icon (Edit Channel) → Integrations → Webhooks
- Click New Webhook, give it a name (e.g.
Global Entry Scanner), optionally set an avatar - Click Copy Webhook URL
Config:
[notifications.discord]
webhook_url = "https://discord.com/api/webhooks/1234567890/xxxxxxxxxxxxxxxxxxxx"
Slack
Sends a message to a Slack channel via an Incoming Webhook.
Setup
- Go to api.slack.com/apps → Create New App → From scratch
- Give it a name (e.g.
global-entry-scanner) and pick your workspace - Under Add features and functionality, choose Incoming Webhooks → toggle it On
- Click Add New Webhook to Workspace, pick the channel, click Allow
- Copy the webhook URL that appears
Config:
[notifications.slack]
webhook_url = "https://hooks.slack.com/services/T00000000/B00000000/xxxxxxxxxxxxxxxxxxxx"
SMS (Twilio)
Sends an SMS text message via the Twilio API.
Setup
- Sign up at twilio.com — free trial includes a small credit and one phone number
- From the Twilio Console dashboard, copy your Account SID (starts with
AC) and Auth Token - Go to Phone Numbers → Manage → Buy a number to get a number to send from
Free trial: Twilio trial accounts can only send SMS to verified phone numbers. Go to Phone Numbers → Manage → Verified Caller IDs and add your personal number before testing.
Config:
[notifications.sms]
account_sid = "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
auth_token = "your_auth_token_here"
from_number = "+12125550000" # your Twilio number
to_number = "+12125551234" # your personal number
Phone numbers must be in E.164 format: + followed by country code and number, no spaces or dashes.
Using multiple channels
All active channels fire for every notification. Configure as many as you want — they coexist in the same config file.
To use only specific channels for a single scan without changing your config:
global-entry-scanner scan --notify discord,sms
global-entry-scanner scan --notify email