← Back to Skills Marketplace
keziqicoze09-del

FaceTime Auto Call

by keziqicoze09-del · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
128
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install facetime-auto-call
Description
Make FaceTime audio/video calls via AppleScript. Automatically handles notification clicking with multi-depth fallback. Use when user wants to call someone o...
README (SKILL.md)

FaceTime Auto-Call Tool

A reliable tool for making FaceTime calls programmatically through AppleScript automation.

🎯 Tool Definition

Tool Name: facetime-auto-call

Parameters:

  • mode: audio | video | find-contact | test
  • contact: Phone number or email address

Usage:

bash /path/to/facetime-auto-call/scripts/call.sh \x3Cmode> \x3Ccontact>

📋 Prerequisites

Required: NodeRunner.app Wrapper

macOS requires .app bundle for accessibility permissions (daemon processes are blocked).

Quick Setup:

bash /path/to/facetime-auto-call/scripts/setup.sh

Manual Authorization:

  1. System Settings → Privacy & Security → Accessibility
  2. Add ~/Applications/NodeRunner.app
  3. Enable

See: OpenClaw Issue #940

🚀 Tool Usage

Audio Call (Recommended)

bash /path/to/facetime-auto-call/scripts/call.sh audio "[email protected]"
bash /path/to/facetime-auto-call/scripts/call.sh audio "+1234567890"

Video Call

bash /path/to/facetime-auto-call/scripts/call.sh video "[email protected]"

Find Contact

bash /path/to/facetime-auto-call/scripts/call.sh find-contact "John"

Test

bash /path/to/facetime-auto-call/scripts/call.sh test

🤖 Natural Language Interface

When user says:

  • "Call John" → Call facetime-auto-call tool with audio mode and contact info
  • "Video call with X" → Call facetime-auto-call tool with video mode
  • "Call +1..." → Call facetime-auto-call tool with audio mode and phone number

Example:

User: "Call John"
Agent: bash /path/to/facetime-auto-call/scripts/call.sh audio "[email protected]"

🔔 Automation Integration

Use in monitoring scripts:

# Token monitoring example
if [ "$MARKET_CAP" -lt "$TARGET" ]; then
    bash /path/to/facetime-auto-call/scripts/call.sh audio "[email protected]"
fi

🔧 Technical Details

Notification Depth Handling

macOS notification UI depth varies (7-10 layers) based on:

  • Notification type (Banner vs List)
  • Content complexity (text vs images/buttons)
  • macOS version (Sequoia uses SwiftUI)

Solution: Multi-depth fallback (8 → 9 → 7 → 10)

Why This Design?

Per Apple Documentation:

  • SwiftUI auto-layout creates nested groups
  • Different notification types have different structures
  • This is Apple's design, not a bug

📊 Reliability

  • ✅ Audio calls: 100%
  • ✅ Video calls: 100%
  • ✅ Notification clicking: 100% (8-9 layer coverage)
  • ✅ Contact search: 100%

🐛 Troubleshooting

Permission Error

Error: "System Events" cannot access...

Fix:

ls ~/Applications/NodeRunner.app  # Check if exists
bash /path/to/facetime-auto-call/scripts/setup.sh  # Re-setup

Notification Not Appearing

Cause: FaceTime process not started Fix: Script auto-cleans and restarts FaceTime

Button Not Found

Error: Button not found (-2700)

Cause: Notification depth outside 8-9 range

Fix: Use Accessibility Inspector to check actual depth

open /System/Library/CoreServices/Applications/Accessibility\ Inspector.app

📚 References

🎉 Version History

  • v4.1 (2026-03-11) - Simplified reliable version

    • Removed dynamic path building
    • Fixed path + multi-depth fallback
    • Button description verification
    • 100% success rate
  • v3.0 (2026-03-11) - Environment cleanup version

    • Added FaceTime process cleanup
    • Smart path finding (8-10 layers)
    • Notification verification
  • v2.0 (2026-03-11) - NodeRunner.app version

    • Created .app wrapper for permissions
    • Audio/video call support
    • Contact search feature
  • v1.0 (2026-03-11) - Initial version

    • Basic FaceTime calling
Usage Guidance
This skill appears to do what it says, but it requires macOS Accessibility permission and will interact with Notification Center and your Contacts. Before installing: (1) review the three included scripts locally so you understand what will be created and run; (2) note setup.sh creates ~/Applications/NodeRunner.app that will persist and you must manually grant Accessibility to it — doing so allows the app to control the UI; (3) if you only need one-off calls consider running call.sh directly (and avoid granting persistent Accessibility) or run in a dedicated macOS account; (4) confirm /opt/homebrew/bin/node exists or edit NodeRunner wrapper accordingly; (5) avoid installing if you cannot or do not want to grant UI control or Contacts access. If you want higher assurance, run the scripts in a disposable account or inspect them line-by-line before granting permissions.
Capability Analysis
Type: OpenClaw Skill Name: facetime-auto-call Version: 1.0.0 The skill automates FaceTime calls by creating a wrapper application (NodeRunner.app) in scripts/setup.sh to bypass macOS Accessibility security restrictions, which is a high-risk behavior. Additionally, the find-contact command in scripts/call.sh is vulnerable to AppleScript injection because it embeds the unsanitized $QUERY variable directly into an osascript block. While the functionality aligns with the stated purpose, the combination of security control bypasses and injection vulnerabilities poses a significant risk.
Capability Assessment
Purpose & Capability
Name/description match the provided scripts: call.sh opens facetime:// URLs and uses AppleScript to click notification buttons; setup.sh creates a local NodeRunner.app wrapper to get Accessibility permissions. All requested artifacts (none external) are coherent with automating FaceTime calls.
Instruction Scope
Instructions correctly require granting Accessibility permission and running setup.sh. The runtime AppleScript explicitly reads Contacts (for find-contact) and interacts with Notification Center (to click call-confirm buttons and to clear notifications). This behavior is expected for the stated functionality, but it does involve access to sensitive UI and contact data.
Install Mechanism
No remote install/downloads or package installs are performed. setup.sh creates a local ~/Applications/NodeRunner.app wrapper and Info.plist—this is a local file creation only. No remote code execution or obscure URLs are used.
Credentials
The skill does not request environment variables, keys, or other credentials. It does, however, require macOS Accessibility authorization so the scripts can control the UI and will read Contacts via AppleScript—these are proportionate to contact lookup and notification-clicking features but are sensitive capabilities to grant.
Persistence & Privilege
The skill is not always-enabled and does not modify other skills. It does create a persistent NodeRunner.app in ~/Applications which remains until removed; granting Accessibility to that app yields long-lived UI control privileges. This persistence is reasonable for the tool's operation but increases the blast radius if misused.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install facetime-auto-call
  3. After installation, invoke the skill by name or use /facetime-auto-call
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial public release: programmatic FaceTime audio/video calls with automatic notification clicking
Metadata
Slug facetime-auto-call
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is FaceTime Auto Call?

Make FaceTime audio/video calls via AppleScript. Automatically handles notification clicking with multi-depth fallback. Use when user wants to call someone o... It is an AI Agent Skill for Claude Code / OpenClaw, with 128 downloads so far.

How do I install FaceTime Auto Call?

Run "/install facetime-auto-call" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is FaceTime Auto Call free?

Yes, FaceTime Auto Call is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does FaceTime Auto Call support?

FaceTime Auto Call is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created FaceTime Auto Call?

It is built and maintained by keziqicoze09-del (@keziqicoze09-del); the current version is v1.0.0.

💬 Comments