FoyerDevelopers

Generated · Live registry

fritzbox-calls tools

8 tools in this domain, generated from the running registry.

All tool domains

fritzbox-calls.contacts.list

read-only

List all call contacts for this tenant, ordered by display name. Contacts enrich the call log (display name + category shown on each call row). Returns { contacts: Contact[] }. DRY: delegates to the shared listContacts() query (same as the tRPC router).

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
contactsarray of objectyes
contacts.idstringyes
contacts.phoneNumberstringyes
contacts.displayNamestringyes
contacts.categorystringyes
contacts.updatedAtstringyes

fritzbox-calls.contacts.upsert

writes

Create or update a call contact for this tenant. Conflict key: (tenantId, phoneNumber) — unique per tenant, so calling with an existing phone number updates the display name and category. Returns the upserted contact.

Input parameters

FieldTypeRequiredNotes
phoneNumberstringyes
displayNamestringyes
categorystringnoDefault: "sonstig"

Output fields

FieldTypeRequiredNotes
contactobjectyes
contact.idstringyes
contact.phoneNumberstringyes
contact.displayNamestringyes
contact.categorystringyes
contact.updatedAtstringyes

fritzbox-calls.list

read-only

List paginated FritzBox calls for this tenant. Supports filter (all/incoming/outgoing/missed), period (all/today/week/month), free-text search across phone number, guest name, FritzBox device name, and contact display name. Newest-first. DRY: delegates to the shared listCalls() query (same as the tRPC router).

Input parameters

FieldTypeRequiredNotes
pageintegernoDefault: 1
limitintegernoDefault: 25
filterenumnoOne of: all, incoming, outgoing, missed — Default: "all"
periodenumnoOne of: all, today, week, month — Default: "all"
searchstringno

Output fields

FieldTypeRequiredNotes
itemsarray of objectyes
items.idstringyes
items.callTypenumberyes
items.datestringyes
items.phoneNumberstringyes
items.phoneExtensionstring · nullableyes
items.ownNumberstring · nullableyes
items.durationDisplaystringyes
items.durationSecondsnumberyes
items.fritzboxNamestring · nullableyes
items.guestIdstring · nullableyes
items.guestNamestring · nullableyes
items.callbackStatusstring · nullableyes
items.callbackUpdatedAtstring · nullableyes
items.notesstring · nullableyes
items.notesUpdatedAtstring · nullableyes
items.contactNamestring · nullableyes
items.contactCategorystring · nullableyes
paginationobjectyes
pagination.pagenumberyes
pagination.limitnumberyes
pagination.totalnumberyes
pagination.totalPagesnumberyes

fritzbox-calls.refresh

writes

Trigger a FritzBox call import for this tenant. Fetches the current call list from the FritzBox device and upserts any new calls into the database. Returns { imported, duplicates }.

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
importednumberyes
duplicatesnumberyes

fritzbox-calls.set-callback

writes

Set or clear the callback status on a FritzBox call. 4 states: null=Offen (open), 'in_progress'=In Bearbeitung (in progress), 'called_back'=Zurückgerufen (returned), 'no_answer'=Kein Anschluss (no answer). Pass null to reset to open. Returns the updated row. 404 error if call not found (RLS-isolated).

Input parameters

FieldTypeRequiredNotes
idstringyes
statusenum · nullableyesOne of: in_progress, called_back, no_answer

Output fields

FieldTypeRequiredNotes
idstringyes
callbackStatusstring · nullableyes
callbackUpdatedAtstring · nullableyes

fritzbox-calls.set-note

writes

Set or clear the note on a FritzBox call. Empty / whitespace-only input clears the note (stored as null). Text is sanitized (NUL bytes removed) and truncated to 2000 characters. Returns the updated row. 404 error if call not found (RLS-isolated).

Input parameters

FieldTypeRequiredNotes
idstringyes
notesstringyes

Output fields

FieldTypeRequiredNotes
idstringyes
notesstring · nullableyes
notesUpdatedAtstring · nullableyes

fritzbox-calls.stats

read-only

Aggregated call statistics for this tenant: today's total and missed calls, average call duration (seconds), and total call count across all time. DRY: delegates to the shared callStats() query (same as the tRPC router).

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
todayTotalnumberyes
todayMissednumberyes
avgDurationnumberyes
totalnumberyes

fritzbox-calls.status

read-only

Check the FritzBox connection status for this tenant. Returns { online: boolean; reason?: string }. reason is present when online=false (e.g. 'FRITZBOX_URL not configured').

Input parameters

Returns object.

Output fields

FieldTypeRequiredNotes
onlinebooleanyes
reasonstringno