CamDialGet CamDial

camdial:// links: Stream Deck, Raycast, scripts

CamDial can apply a saved look when something opens a link. That is enough to put a camera preset on a Stream Deck key, a Raycast command, a Shortcut, or one line in a shell script.

First: turn it on

CamDial → Settings → General → Allow camdial:// links.

It is off until you turn it on, and that is on purpose. A URL scheme can be triggered by any app on your Mac and by any web page you visit, and macOS does not tell the receiving app which one did it. So CamDial does not listen until you ask it to — and even then it accepts only one kind of instruction.

What a link can do

LinkWhat happens
camdial://lookApplies the starred look for the camera you are using
camdial://preset/Evening%20warmApplies the look with that exact name
camdial://preset/<uuid>Applies a look by its identifier

That is the whole list. There is no link that deletes a preset, resets a camera, changes a setting directly, or quits the app — not because nobody has asked, but because this surface cannot tell who is calling, and everything reachable from it should be something you can undo by applying a different look.

Names must match exactly. A link naming a look that does not exist does nothing; CamDial will not pick the closest one, because a button that silently applies the wrong look is worse than a button that does nothing. Spaces need percent-encoding: Evening warm becomes Evening%20warm.

Stream Deck

Add a System → Open action. Put the link in the URL field:

camdial://preset/Evening%20warm

One key per look. The camera changes without any window appearing.

Raycast

Create a Quicklink (Create Quicklink, or ⌘K → Create Quicklink):

  • Link: camdial://look
  • Name: Fix my camera

It then runs from Raycast’s root search like any other command.

Shortcuts and scripts

In Shortcuts, use Open URL. In a script:

open "camdial://preset/Daylight%20desk"

Useful in a meeting-launcher script: set the look, then open the call.

Shortcuts actions are usually better

If you are already in Shortcuts, CamDial’s own actions — Apply Preset and Set Camera Control — are a better fit than a link. They give you a preset picker instead of a hand-typed name, they report what they did, and they tell you when the camera is not connected. Links exist for the tools that can only open a URL. See Shortcuts automations.

When a link does nothing

Check, in this order:

  1. The toggle in Settings → General is on.
  2. The name matches a preset exactly, including case and spaces.
  3. The camera that preset belongs to is connected.

Every link CamDial receives is logged, accepted or not:

/usr/bin/log show --last 10m \
  --predicate 'subsystem == "app.camdial.CamDial" AND category == "url"' --info

You will see one of: applied <name>, no preset named <name>, refused … not a command CamDial accepts, or ignored … links are turned off.

Something here not matching what the app does? Tell us at hello@camdial.app — the docs are wrong more often than the app is.

Get CamDial