Skip to Content
TroubleshootingCommon Issues

Common Issues

This guide covers the most frequently encountered problems and their solutions. Issues are organized in a problem/solution format for quick reference.

Emails Not Sending

Problem: AI-drafted emails stay in the approval queue

Solution: Check your autonomy settings. If you are in Warmup Mode or Assisted mode, all emails require manual approval. Go to Settings > Autonomy & Action Policy and either:

  • Switch Email Sending Mode from Warmup to Normal
  • Switch Global Autonomy Mode to Controlled or Full
  • Approve individual emails from the Approval Queue

Problem: Emails fail with “no sender configured”

Solution: You need at least one active sender. Options:

  1. Connect an OAuth mailbox (Microsoft 365 or Google) in Settings > Connected Accounts
  2. Add an SMTP server in Settings > Connected Accounts
  3. Verify a sending domain in Settings > Connected Accounts

The platform shared sender is available as a fallback but requires the SCENDCORE_RESEND_API_KEY environment variable.

Problem: Emails bounce with “hard bounce”

Solution: The recipient’s email address is invalid or their server rejected the message. Check:

  • The contact’s email address for typos
  • Settings > Deliverability for bounce rate metrics
  • The contact’s email status — hard-bounced contacts are automatically suppressed

OAuth and Connected Accounts

Problem: OAuth token expired

Solution: Go to Settings > Connected Accounts, find the affected mailbox, and click Refresh. This re-runs identity discovery and refreshes the OAuth token. If refresh fails, disconnect and reconnect the account.

Problem: Microsoft OAuth shows “mail field is null”

Solution: Some M365 accounts do not have the mail field populated. ScendCore falls back to userPrincipalName. If the email address is wrong after connecting, disconnect and reconnect the account.

Problem: Google OAuth limited to 100 users

Solution: Your Google OAuth app is in “Testing” mode. Go to the Google Cloud Console > APIs & Services > OAuth consent screen > Audience tab and set the app to “In production”.

Stuck Jobs and Queue Issues

Problem: Outreach jobs show “queued” but never execute

Solution: This can happen if the queue worker is down or the job was deduplicated. Check:

  1. Verify the queue worker is running (check Railway deploy logs)
  2. The stuck job rescue cron runs every 60 seconds and re-enqueues jobs older than 90 seconds
  3. If jobs were manually approved, ensure no jobId was passed (BullMQ silently deduplicates)

Problem: All AI activity is paused

Solution: The kill switch may be active. Go to Settings > Autonomy & Action Policy and check if the Emergency Stop banner is showing. Click Deactivate — Resume AI to restore operations.

Contact and Import Issues

Problem: CSV import shows many errors

Solution:

  • Ensure your CSV has a header row with recognized column names
  • The email column is required
  • Check for blank rows, invalid email formats, and encoding issues
  • Try exporting your CSV in UTF-8 encoding

Problem: Contact not receiving AI outreach

Solution: Check these in order:

  1. Is AI Paused enabled on the contact? (Contact detail page)
  2. Is the contact’s lead status set to do_not_contact?
  3. Is there an active sender profile and channel account?
  4. Check the Autonomy settings — is the kill switch active?

Conversations

Problem: Conversations page is empty

Solution:

  • Check that you have at least one active channel account in Settings > Channels
  • Verify inbound webhooks are configured for your email, SMS, or WhatsApp channels
  • Try changing the channel filter — you may be filtering to a channel with no conversations

Problem: API route returning HTML instead of JSON

Solution: This almost always means the middleware is redirecting the request to the login page. The route needs to be added to the PUBLIC_PATHS array in the middleware configuration. Contact your administrator if you are seeing this on a server-to-server route.

Voice Calls

Problem: Calls show “Busy” in Twilio

Solution: This is usually a TTS voice error (Twilio error 64101). See the detailed Voice AI Troubleshooting guide.

Problem: Voice calls not appearing in ScendCore

Solution:

  • Verify the webhook URL in Twilio is correct
  • Check that the voice-relay service is running and accessible
  • Review Railway deploy logs for connection errors

Billing

Problem: Billing page shows an error

Solution: If Stripe is not configured in your environment, the billing page will display an error. This is expected on staging deployments where Stripe is not set up.

General

Problem: Page loads but shows no data

Solution: Try these steps:

  1. Hard refresh the page (Ctrl+Shift+R / Cmd+Shift+R)
  2. Check your browser’s network tab for failed API requests
  3. Verify you have the correct role permissions for the page
  4. Try logging out and back in to refresh your session
Last updated on