cal.com icon indicating copy to clipboard operation
cal.com copied to clipboard

[CAL-796] Error sending SMS with error SyntaxError: Unexpected token U in JSON at position 4

Open timowevel1 opened this issue 2 years ago • 6 comments

Hello,

we just added the Twilio Integration. We bought the enterprise license. However, next thing which doesnt work is twilio.

Error sending SMS with error SyntaxError: Unexpected token U in JSON at position 4

appears when trying to send an sms triggered by a rescheduling. Also sendgrid is configured, also not working.

Also, many many other errors when doing any actions like booking meetings or canceling them

calendarBusyTimes==>>> [] @calcom/web:start: 00:24:14.713 WARN [[SyncServiceManager] updateWebUser:noUser @calcom/web:start: { @calcom/web:start: user: null @calcom/web:start: } @calcom/web:start: react-i18next:: You will need to pass in an i18next instance by using i18nextReactModule @calcom/web:start: createMeeting failed [ @calcom/web:start: { @calcom/web:start: "code": "invalid_type", @calcom/web:start: "expected": "string", @calcom/web:start: "received": "undefined", @calcom/web:start: "path": [ @calcom/web:start: "api_key" @calcom/web:start: ], @calcom/web:start: "message": "Required" @calcom/web:start: } @calcom/web:start: ] @calcom/web:start: at handleResult (file:///root/cal.com/node_modules/zod/lib/index.mjs:502:23) @calcom/web:start: at ZodObject.safeParse (file:///root/cal.com/node_modules/zod/lib/index.mjs:615:16) @calcom/web:start: at ZodObject.parse (file:///root/cal.com/node_modules/zod/lib/index.mjs:595:29) @calcom/web:start: at getDailyAppKeys (/root/cal.com/apps/web/.next/server/chunks/448.js:174:31) @calcom/web:start: at async translateEvent (/root/cal.com/apps/web/.next/server/chunks/448.js:99:44) @calcom/web:start: at async createOrUpdateMeeting (/root/cal.com/apps/web/.next/server/chunks/448.js:80:22) @calcom/web:start: at async createMeeting (/root/cal.com/apps/web/.next/server/chunks/7105.js:6806:26) @calcom/web:start: at async EventManager.create (/root/cal.com/apps/web/.next/server/chunks/8555.js:730:28) @calcom/web:start: at async handler (/root/cal.com/apps/web/.next/server/pages/api/book/event.js:1531:31) @calcom/web:start: at async handler (/root/cal.com/apps/web/.next/server/pages/api/book/event.js:610:21) @calcom/web:start: at async /root/cal.com/apps/web/.next/server/chunks/1441.js:58:28 @calcom/web:start: at async Object.apiResolver (/root/cal.com/node_modules/next/dist/server/api-utils/node.js:363:9) @calcom/web:start: at async NextNodeServer.runApi (/root/cal.com/node_modules/next/dist/server/next-server.js:487:9) @calcom/web:start: at async Object.fn (/root/cal.com/node_modules/next/dist/server/next-server.js:749:37) @calcom/web:start: at async Router.execute (/root/cal.com/node_modules/next/dist/server/router.js:253:36) @calcom/web:start: at async NextNodeServer.run (/root/cal.com/node_modules/next/dist/server/base-server.js:384:29) { @calcom/web:start: issues: [ @calcom/web:start: { @calcom/web:start: code: 'invalid_type', @calcom/web:start: expected: 'string', @calcom/web:start: received: 'undefined', @calcom/web:start: path: [Array], @calcom/web:start: message: 'Required' @calcom/web:start: } @calcom/web:start: ], @calcom/web:start: addIssue: [Function (anonymous)], @calcom/web:start: addIssues: [Function (anonymous)], @calcom/web:start: name: 'ZodError', @calcom/web:start: errors: [ @calcom/web:start: { @calcom/web:start: code: 'invalid_type', @calcom/web:start: expected: 'string', @calcom/web:start: received: 'undefined', @calcom/web:start: path: [Array], @calcom/web:start: message: 'Required' @calcom/web:start: } @calcom/web:start: ] @calcom/web:start: } { @calcom/web:start: type: '15 Min Meeting', @calcom/web:start: title: '15 Min Meeting between admin and Test', @calcom/web:start: description: '', @calcom/web:start: additionalNotes: '', @calcom/web:start: customInputs: {}, @calcom/web:start: startTime: '2023-01-20T08:15:00Z', @calcom/web:start: endTime: '2023-01-20T08:20:00Z', @calcom/web:start: organizer: { @calcom/web:start: id: 1, @calcom/web:start: name: 'admin', @calcom/web:start: email: '[email protected]', @calcom/web:start: timeZone: 'Europe/Berlin', @calcom/web:start: language: { translate: [Function], locale: 'en' } @calcom/web:start: }, @calcom/web:start: attendees: [ @calcom/web:start: { @calcom/web:start: email: 'replaced, @calcom/web:start: name: 'Test', @calcom/web:start: timeZone: 'Europe/Berlin', @calcom/web:start: language: [Object] @calcom/web:start: } @calcom/web:start: ], @calcom/web:start: location: 'integrations:daily', @calcom/web:start: destinationCalendar: null, @calcom/web:start: hideCalendarNotes: false, @calcom/web:start: requiresConfirmation: false, @calcom/web:start: eventTypeId: 2, @calcom/web:start: seatsShowAttendees: false, @calcom/web:start: uid: 'nMmPPEfjwLcPxs3uPqmHYJ' @calcom/web:start: } @calcom/web:start: evt: { @calcom/web:start: type: '15 Min Meeting', @calcom/web:start: title: '15 Min Meeting between admin and Test', @calcom/web:start: description: '', @calcom/web:start: additionalNotes: '', @calcom/web:start: customInputs: {}, @calcom/web:start: startTime: '2023-01-20T08:15:00Z', @calcom/web:start: endTime: '2023-01-20T08:20:00Z', @calcom/web:start: organizer: { @calcom/web:start: id: 1, @calcom/web:start: name: 'admin', @calcom/web:start: email: '[email protected]', @calcom/web:start: timeZone: 'Europe/Berlin', @calcom/web:start: language: { translate: [Function], locale: 'en' } @calcom/web:start: }, @calcom/web:start: attendees: [ @calcom/web:start: { @calcom/web:start: email: 'replaced', @calcom/web:start: name: 'Test', @calcom/web:start: timeZone: 'Europe/Berlin', @calcom/web:start: language: [Object] @calcom/web:start: } @calcom/web:start: ], @calcom/web:start: location: 'integrations:daily', @calcom/web:start: destinationCalendar: null, @calcom/web:start: hideCalendarNotes: false, @calcom/web:start: requiresConfirmation: false, @calcom/web:start: eventTypeId: 2, @calcom/web:start: seatsShowAttendees: false, @calcom/web:start: uid: 'nMmPPEfjwLcPxs3uPqmHYJ', @calcom/web:start: appsStatus: [ @calcom/web:start: { @calcom/web:start: appName: 'Cal Video', @calcom/web:start: type: 'daily_video', @calcom/web:start: success: 0, @calcom/web:start: failures: 1, @calcom/web:start: errors: [], @calcom/web:start: warnings: undefined @calcom/web:start: }, @calcom/web:start: { @calcom/web:start: appName: 'Sendgrid', @calcom/web:start: type: 'sendgrid_other_calendar', @calcom/web:start: success: 1, @calcom/web:start: failures: 0, @calcom/web:start: errors: [], @calcom/web:start: warnings: [] @calcom/web:start: } @calcom/web:start: ], @calcom/web:start: metadata: {} @calcom/web:start: } @calcom/web:start: SEND_BROKEN_INTEGRATION_ERROR Error: Invalid login: 535 5.7.3 Authentication unsuccessful [FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM] @calcom/web:start: at SMTPConnection._formatError (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:787:19) @calcom/web:start: at SMTPConnection._actionAUTHComplete (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1539:34) @calcom/web:start: at SMTPConnection.<anonymous> (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1493:18) @calcom/web:start: at SMTPConnection._processResponse (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:950:20) @calcom/web:start: at SMTPConnection._onData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:752:14) @calcom/web:start: at TLSSocket.SMTPConnection._onSocketData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:191:44) @calcom/web:start: at TLSSocket.emit (node:events:513:28) @calcom/web:start: at TLSSocket.emit (node:domain:552:15) @calcom/web:start: at addChunk (node:internal/streams/readable:315:12) @calcom/web:start: at readableAddChunk (node:internal/streams/readable:289:9) @calcom/web:start: at TLSSocket.Readable.push (node:internal/streams/readable:228:10) @calcom/web:start: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) @calcom/web:start: at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) { @calcom/web:start: code: 'EAUTH', @calcom/web:start: response: '535 5.7.3 Authentication unsuccessful [FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM]', @calcom/web:start: responseCode: 535, @calcom/web:start: command: 'AUTH LOGIN' @calcom/web:start: } @calcom/web:start: sendEmail Error: Invalid login: 535 5.7.3 Authentication unsuccessful [FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM] @calcom/web:start: at SMTPConnection._formatError (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:787:19) @calcom/web:start: at SMTPConnection._actionAUTHComplete (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1539:34) @calcom/web:start: at SMTPConnection.<anonymous> (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1493:18) @calcom/web:start: at SMTPConnection._processResponse (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:950:20) @calcom/web:start: at SMTPConnection._onData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:752:14) @calcom/web:start: at TLSSocket.SMTPConnection._onSocketData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:191:44) @calcom/web:start: at TLSSocket.emit (node:events:513:28) @calcom/web:start: at TLSSocket.emit (node:domain:552:15) @calcom/web:start: at addChunk (node:internal/streams/readable:315:12) @calcom/web:start: at readableAddChunk (node:internal/streams/readable:289:9) @calcom/web:start: at TLSSocket.Readable.push (node:internal/streams/readable:228:10) @calcom/web:start: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) @calcom/web:start: at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) { @calcom/web:start: code: 'EAUTH', @calcom/web:start: response: '535 5.7.3 Authentication unsuccessful [FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM]', @calcom/web:start: responseCode: 535, @calcom/web:start: command: 'AUTH LOGIN' @calcom/web:start: } @calcom/web:start: SEND_BOOKING_CONFIRMATION_ERROR Error: Invalid login: 535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM] @calcom/web:start: at SMTPConnection._formatError (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:787:19) @calcom/web:start: at SMTPConnection._actionAUTHComplete (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1539:34) @calcom/web:start: at SMTPConnection.<anonymous> (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1493:18) @calcom/web:start: at SMTPConnection._processResponse (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:950:20) @calcom/web:start: at SMTPConnection._onData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:752:14) @calcom/web:start: at TLSSocket.SMTPConnection._onSocketData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:191:44) @calcom/web:start: at TLSSocket.emit (node:events:513:28) @calcom/web:start: at TLSSocket.emit (node:domain:552:15) @calcom/web:start: at addChunk (node:internal/streams/readable:315:12) @calcom/web:start: at readableAddChunk (node:internal/streams/readable:289:9) @calcom/web:start: at TLSSocket.Readable.push (node:internal/streams/readable:228:10) @calcom/web:start: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) @calcom/web:start: at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) { @calcom/web:start: code: 'EAUTH', @calcom/web:start: response: '535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM]', @calcom/web:start: responseCode: 535, @calcom/web:start: command: 'AUTH LOGIN' @calcom/web:start: } @calcom/web:start: sendEmail Error: Invalid login: 535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM] @calcom/web:start: at SMTPConnection._formatError (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:787:19) @calcom/web:start: at SMTPConnection._actionAUTHComplete (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1539:34) @calcom/web:start: at SMTPConnection.<anonymous> (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1493:18) @calcom/web:start: at SMTPConnection._processResponse (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:950:20) @calcom/web:start: at SMTPConnection._onData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:752:14) @calcom/web:start: at TLSSocket.SMTPConnection._onSocketData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:191:44) @calcom/web:start: at TLSSocket.emit (node:events:513:28) @calcom/web:start: at TLSSocket.emit (node:domain:552:15) @calcom/web:start: at addChunk (node:internal/streams/readable:315:12) @calcom/web:start: at readableAddChunk (node:internal/streams/readable:289:9) @calcom/web:start: at TLSSocket.Readable.push (node:internal/streams/readable:228:10) @calcom/web:start: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) @calcom/web:start: at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) { @calcom/web:start: code: 'EAUTH', @calcom/web:start: response: '535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM]', @calcom/web:start: responseCode: 535, @calcom/web:start: command: 'AUTH LOGIN' @calcom/web:start: } @calcom/web:start: SEND_BOOKING_CONFIRMATION_ERROR Error: Invalid login: 535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM] @calcom/web:start: at SMTPConnection._formatError (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:787:19) @calcom/web:start: at SMTPConnection._actionAUTHComplete (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1539:34) @calcom/web:start: at SMTPConnection.<anonymous> (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1493:18) @calcom/web:start: at SMTPConnection._processResponse (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:950:20) @calcom/web:start: at SMTPConnection._onData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:752:14) @calcom/web:start: at TLSSocket.SMTPConnection._onSocketData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:191:44) @calcom/web:start: at TLSSocket.emit (node:events:513:28) @calcom/web:start: at TLSSocket.emit (node:domain:552:15) @calcom/web:start: at addChunk (node:internal/streams/readable:315:12) @calcom/web:start: at readableAddChunk (node:internal/streams/readable:289:9) @calcom/web:start: at TLSSocket.Readable.push (node:internal/streams/readable:228:10) @calcom/web:start: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) @calcom/web:start: at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) { @calcom/web:start: code: 'EAUTH', @calcom/web:start: response: '535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM]', @calcom/web:start: responseCode: 535, @calcom/web:start: command: 'AUTH LOGIN' @calcom/web:start: } @calcom/web:start: sendEmail Error: Invalid login: 535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM] @calcom/web:start: at SMTPConnection._formatError (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:787:19) @calcom/web:start: at SMTPConnection._actionAUTHComplete (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1539:34) @calcom/web:start: at SMTPConnection.<anonymous> (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:1493:18) @calcom/web:start: at SMTPConnection._processResponse (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:950:20) @calcom/web:start: at SMTPConnection._onData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:752:14) @calcom/web:start: at TLSSocket.SMTPConnection._onSocketData (/root/cal.com/node_modules/nodemailer/lib/smtp-connection/index.js:191:44) @calcom/web:start: at TLSSocket.emit (node:events:513:28) @calcom/web:start: at TLSSocket.emit (node:domain:552:15) @calcom/web:start: at addChunk (node:internal/streams/readable:315:12) @calcom/web:start: at readableAddChunk (node:internal/streams/readable:289:9) @calcom/web:start: at TLSSocket.Readable.push (node:internal/streams/readable:228:10) @calcom/web:start: at TLSWrap.onStreamRead (node:internal/stream_base_commons:190:23) @calcom/web:start: at TLSWrap.callbackTrampoline (node:internal/async_hooks:130:17) { @calcom/web:start: code: 'EAUTH', @calcom/web:start: response: '535 5.7.3 Authentication unsuccessful [FR3P281CA0150.DEUP281.PROD.OUTLOOK.COM]', @calcom/web:start: responseCode: 535, @calcom/web:start: command: 'AUTH LOGIN'

CAL-796

timowevel1 avatar Jan 15 '23 23:01 timowevel1

I'll forward this to @CarinaWolli who built SMS reminders

PeerRich avatar Jan 16 '23 09:01 PeerRich

Hi @timowevel1! Sorry that you are experiencing these issues. I tried to reproduce the error Error sending SMS with error SyntaxError: Unexpected token U in JSON at position 4, but sending an SMS with the reschedule trigger worked fine for me. I set up everything from the beginning and followed the setup instructions from the README.md file (Setting up Twilio for SMS reminders). Did you follow all these steps?

CarinaWolli avatar Jan 18 '23 19:01 CarinaWolli

Thank you @CarinaWolli , do you enter the phone number in the .env as SID or plain?

Mine looks like that: TWILIO_SID='XXXXXXXXXXXXXXXXXXXX' TWILIO_TOKEN='XXXXXXXXXXXXXXXXXXXXX' TWILIO_MESSAGING_SID='XXXXXXXXXXXXXXXXXXXXXXXXXX' TWILIO_PHONE_NUMBER='+49XXXXXXXXXXXX' NEXT_PUBLIC_SENDER_ID='Cal' TWILIO_VERIFY_SID='XXXXXXXXXXXXXXXXXXXXXXXX'

Where XXXX are the SIDs.

timowevel1 avatar Jan 19 '23 07:01 timowevel1

I enter the phone number like you have shown with the country code. One thing that might be relevant for you is that the sender id is not working on the trial Twilio account. But the error message should look different in that case, so that shouldn't cause your error message.

CarinaWolli avatar Jan 19 '23 13:01 CarinaWolli

What I did is git clone yarn build (had to disable typescript check, but that seems to be a common issue as I also found the same in the discussions) Then my .env looks like that (located in the root of cal, does it have to be anywhere else?)


# ********** INDEX **********
#
# - LICENSE
# - DATABASE
# - SHARED
#   - NEXTAUTH
# - E-MAIL SETTINGS

# - LICENSE ********************************************************************                                                                                                                                                             *****************************
# https://github.com/calendso/calendso/blob/main/LICENSE
#
# Summary of terms:
# - The codebase has to stay open source, whether it was modified or not
# - You can not repackage or sell the codebase
# - Acquire a commercial license to remove these terms by visiting: cal.com/sale                                                                                                                                                             s
#
# To enable enterprise-only features, fill your license key in here.
# @see https://console.cal.com
CALCOM_LICENSE_KEY=XXXXXXXXXXXXXXXX
# ******************************************************************************                                                                                                                                                             *****************************

# - DATABASE *******************************************************************                                                                                                                                                             *****************************
DATABASE_URL="postgresql://calendso:[email protected]:5432/calendso"
# ******************************************************************************                                                                                                                                                             *****************************

# - SHARED *********************************************************************                                                                                                                                                             *****************************
NEXT_PUBLIC_WEBAPP_URL='https://XXXXXXXXXXX'
# Change to 'http://localhost:3001' if running the website simultaneously
NEXT_PUBLIC_WEBSITE_URL='https://XXXXXXXXXXXXXX'
NEXT_PUBLIC_CONSOLE_URL='http://localhost:3004'
NEXT_PUBLIC_EMBED_LIB_URL='http://localhost:3000/embed/embed.js'

# To enable SAML login, set both these variables
# @see https://github.com/calcom/cal.com/tree/main/packages/features/ee#setting-                                                                                                                                                             up-saml-login
# SAML_DATABASE_URL="postgresql://postgres:@localhost:5450/cal-saml"
SAML_DATABASE_URL=
# SAML_ADMINS='[email protected]'
SAML_ADMINS=
# NEXT_PUBLIC_HOSTED_CAL_FEATURES=1
NEXT_PUBLIC_HOSTED_CAL_FEATURES=

# If you use Heroku to deploy Postgres (or use self-signed certs for Postgres) t                                                                                                                                                             hen uncomment the follow line.
# @see https://devcenter.heroku.com/articles/connecting-heroku-postgres#connecti                                                                                                                                                             ng-in-node-js
# PGSSLMODE='no-verify'
PGSSLMODE=

#   - NEXTAUTH
# @see: https://github.com/calendso/calendso/issues/263
# @see: https://next-auth.js.org/configuration/options#nextauth_url
# Required for Vercel hosting - set NEXTAUTH_URL to equal your NEXT_PUBLIC_WEBAP                                                                                                                                                             P_URL
NEXTAUTH_URL='https://XXXXXXXXXXXXXXXXXXXXXX'
# @see: https://next-auth.js.org/configuration/options#nextauth_secret
# You can use: `openssl rand -base64 32` to generate one
NEXTAUTH_SECRET=XXXXXXXXXXXXXXXXX
# Used for cross-domain cookie authentication
NEXTAUTH_COOKIE_DOMAIN=

# Set this to '1' if you don't want Cal to collect anonymous usage
CALCOM_TELEMETRY_DISABLED=

# ApiKey for cronjobs
CRON_API_KEY='XXXXXXXXXXXXXXXXXXX'

# Application Key for symmetric encryption and decryption
# must be 32 bytes for AES256 encryption algorithm
# You can use: `openssl rand -base64 24` to generate one
CALENDSO_ENCRYPTION_KEY=XXXXXXXXXXXXXXXXXXXXXXX

# Intercom Config
NEXT_PUBLIC_INTERCOM_APP_ID=

# Zendesk Config
NEXT_PUBLIC_ZENDESK_KEY=

# Help Scout Config
NEXT_PUBLIC_HELPSCOUT_KEY=

# Inbox to send user feedback
SEND_FEEDBACK_EMAIL=

# Sengrid
# Used for email reminders in workflows and internal sync services
SENDGRID_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                                                                                                                          pPkKuc
SENDGRID_EMAIL=XXXXXXXXXXXXXXXXXXXXXX

# Twilio
# Used to send SMS reminders in workflows
TWILIO_SID='XXXXXXXXXXXXXXXXXXX'
TWILIO_TOKEN='XXXXXXXXXXXXXXXXXXXXXX'
TWILIO_MESSAGING_SID='XXXXXXXXXXXXXXXXXXXXXXX'
TWILIO_PHONE_NUMBER='+49XXXXXXXXXXXXXXXXX'
NEXT_PUBLIC_SENDER_ID='Cal'
TWILIO_VERIFY_SID='XXXXXXXXXXXXXXXXXXXXXX'

# This is used so we can bypass emails in auth flows for E2E testing
# Set it to "1" if you need to run E2E tests locally
NEXT_PUBLIC_IS_E2E=

# Used for internal billing system
NEXT_PUBLIC_STRIPE_PRO_PLAN_PRICE=
NEXT_PUBLIC_STRIPE_PREMIUM_PLAN_PRICE=
NEXT_PUBLIC_IS_PREMIUM_NEW_PLAN=0
NEXT_PUBLIC_STRIPE_PREMIUM_NEW_PLAN_PRICE=
STRIPE_TEAM_MONTHLY_PRICE_ID=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRIVATE_KEY=
STRIPE_CLIENT_ID=
PAYMENT_FEE_FIXED=
PAYMENT_FEE_PERCENTAGE=

# Use for internal Public API Keys and optional
API_KEY_PREFIX=cal_
# ******************************************************************************                                                                                                                                                             *****************************

# - E-MAIL SETTINGS ************************************************************                                                                                                                                                             *****************************
# Cal uses nodemailer (@see https://nodemailer.com/about/) to provide email send                                                                                                                                                             ing. As such we are trying to
# allow access to the nodemailer transports from the .env file. E-mail templates                                                                                                                                                              are accessible within lib/emails/
# Configures the global From: header whilst sending emails.
EMAIL_FROM='mail@XXXXXXXXXXXXXXXXXXXXXX'

# Configure SMTP settings (@see https://nodemailer.com/smtp/).
# Note: The below configuration for Office 365 has been verified to work.
EMAIL_SERVER_HOST='smtp.sendgrid.net'
EMAIL_SERVER_PORT=587
EMAIL_SERVER_USER='XXXXXXXXXXXXXXXXXXXXXXX'
# Keep in mind that if you have 2FA enabled, you will need to provision an App P                                                                                                                                                             assword.
EMAIL_SERVER_PASSWORD='XXXXXXXXXXXXXXXXXXXXXX'

# The following configuration for Gmail has been verified to work.
# EMAIL_SERVER_HOST='smtp.gmail.com'
# EMAIL_SERVER_PORT=465
# EMAIL_SERVER_USER='<gmail_emailAddress>'
## You will need to provision an App Password.
## @see https://support.google.com/accounts/answer/185833
# EMAIL_SERVER_PASSWORD='<gmail_app_password>'
# ******************************************************************************                                                                                                                                                             ****************************

# Set the following value to true if you wish to enable Team Impersonation
NEXT_PUBLIC_TEAM_IMPERSONATION=false

# Close.com internal CRM
CLOSECOM_API_KEY=

# Sendgrid internal sync service
SENDGRID_SYNC_API_KEY=

GOOGLE_API_CREDENTIALS='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

# Sentry
NEXT_PUBLIC_SENTRY_DSN=
SENTRY_IGNORE_API_RESOLUTION_ERROR=

# Change your Brand
NEXT_PUBLIC_APP_NAME="Cal.com"
NEXT_PUBLIC_SUPPORT_MAIL_ADDRESS="[email protected]"
NEXT_PUBLIC_COMPANY_NAME="Cal.com, Inc."
# Set this to true in to disable new signups
# NEXT_PUBLIC_DISABLE_SIGNUP=true
NEXT_PUBLIC_DISABLE_SIGNUP=


Some twilio configuration:

SID and token took from here: image

Messaging service: image

Phone number is in the sender pool: image

Verify service: image

Config of verify service: image

Did I configure anything wrong?

timowevel1 avatar Jan 19 '23 13:01 timowevel1

Looks all good to me. Unfortunately, the error message is also not really telling us anything. I am also unable to produce this error message. I did some research and the only thing I found was that twilio might not allow sending to this number/country code. I am using a US phone number, I see yours has a German country code not sure if this maybe has any restrictions that I am not aware of

CarinaWolli avatar Jan 19 '23 22:01 CarinaWolli

Error still persists, also with an american number. Any other ideas?

timowevel1 avatar Feb 06 '23 09:02 timowevel1

I tested it again with a new cloned project. All I did was:

  • AddingNEXTAUTH_SECRET, CALENDSO_ENCRYPTION_KEY, TWILIO_SID, TWILIO_TOKEN, TWILIO_MESSAGING_SID and TWILIO_PHONE_NUMBER
  • Run yarn build
  • Run yarn start
  • Created workflow that sends SMS to attendee when a new event is booked
  • Booked a new event and added my phone number
  • Successfully received SMS

The only issue for me at first was that my Twilio trial account did not work. So you need a paid account, as already mentioned above. Other than that, I don't know why you could get this error, everything seems to be set up correctly on our side

CarinaWolli avatar Feb 06 '23 16:02 CarinaWolli

Closing this issue as it's stale, feel free to re-open but I feel this has been adequately addressed by Carina 👍

emrysal avatar May 26 '23 11:05 emrysal