Skip to main content

External Services โ€” Overview

External Services are the gateways your project uses to reach your users โ€” the email and SMS providers that deliver one-time codes, and the captcha that protects your sign-in flows. They're what make authentication processes actually able to send their OTPs.

They come in three kinds:

  • Email โ€” SendGrid, SMTP, or Outlook.
  • SMS โ€” Twilio, OVH, Ring ring, or Swisscom.
  • Captcha โ€” Google reCAPTCHA v3, Friendly Captcha, or Cardinal Kerberus.

Where they're configuredโ€‹

External Services live at the Environment level โ€” one configuration shared by every project in your Environment. You set them up in two places:

  • During the project-creation wizard's Configure external services step (or skip it with the Demo setup); see Create Your First Project.
  • Anytime after, from Manage environment โ†’ External services.
caution

External Services are Environment-Access only. A Project-Access admin sees "Only administrators with 'Environment Access' can view and manage this data." See Administrators & Access Levels.

info

Coming soon. iCure is moving to a new internal message gateway, Kermes. With it, External Services will move from the Environment level to the Project level โ€” so each project will be able to have its own email/SMS/captcha configuration instead of sharing one environment-wide setup. See the Changelog.

The Spec IDโ€‹

The whole External Services configuration is identified by one Spec ID โ€” environment-wide, reused by every project. It's the value your application passes to the SDK as externalServicesSpecId so the message gateway knows which configuration to send through. You'll find it in Manage environment โ†’ Environment variables and on the wizard's Ready to go step. See Environment and Initialize the Cardinal SDK.

info

A configured gateway is what lets authentication processes deliver OTPs. Without at least one email or SMS gateway, your end users can't receive their login/registration codes.

Where to go nextโ€‹

Cardinal SDK reference: Initialize the SDK โ€” your app passes the Spec ID configured here.