---
title: "Get Outbound Developer Settings"
method: GET
path: "/developer/outbound-developer-settings"
tags: ["Developer", "Developer - Settings"]
---

# Get Outbound Developer Settings

`GET /developer/outbound-developer-settings`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/developer/outbound-developer-settings`
- Auth: none declared

Get the developer-only outbound settings for the current customer.

This endpoint is restricted to developer users only.
All of these settings live on settings_outbound, alongside the
customer-editable outbound settings.

## Response `200`

Successful Response

- OutboundDeveloperSettingsResponse: Response with customer's developer-only outbound settings (stored on settings_outbound)
  - `customer_id` string, uuid, required: The customer ID
  - `extended_calling_window_enabled` boolean, required: Whether this customer may set an outbound calling window wider than 12:00-18:00 firm-local (relaxes the bounds to 08:00-22:00 firm-local)
  - `trigger_fields` TriggerFieldConfig[]: Fields an outbound call trigger supplies for this customer (from their CRM or a Meta lead-ad automation)
    - `key` string, required: Key under which the resolved value is stored in trigger_metadata
    - `label` string, required: Human label shown in the UI
    - `type` string, required: Control type: "select", "text" or "qa_list"
    - `options` TriggerFieldOption[]: Allowed values; required for type=select, ignored for type=text and type=qa_list
      - `value` string, required: Value stored in OutboundLead.trigger_metadata
      - `label` string, required: Human label; this is what gets injected into the prompt
  - `call_pacing_enabled` boolean, required: Whether outbound calls are paced at one per customer per 10 minutes. When false, the whole queue drains in one run and enqueueing dials immediately.
  - `max_calls_per_number_per_day` integer, nullable: Per-phone-number daily outbound call limit. Null means no limit.
  - `callback_dial_share_percent` integer, required: Share of the day's total dial budget (outbound numbers x max calls per number) that callback re-dials may spend. The rest is held for first attempts. 100 means no reservation, and it is inert when there is no per-number limit.
  - `outbound_leads_enabled` boolean, required: Whether this customer curates an outbound lead list. When false their leads come from a trigger, so the lead list, CSV import and manual call queueing are hidden and the lead-writing endpoints reject.
  - `auto_queue_active` boolean, required: Whether uploaded never-contacted leads are queued automatically, one per interval
  - `auto_queue_window_start` string, time, required: Firm-local time auto-queueing starts
  - `auto_queue_window_end` string, time, required: Firm-local time auto-queueing stops (exclusive); unqueued rows expire then
  - `auto_queue_interval_minutes` integer, required: Minutes between auto-queued leads
  - `auto_queue_max_per_day` integer, required: Most leads auto-queued per firm-local day
  - `auto_queue_weekdays` integer[], required: Weekdays auto-queueing runs on, 0=Monday .. 6=Sunday
  - `text_fallback_active` boolean, required: Arm switch for outbound texting: whether texts may actually be sent (also needs the outbound_text_fallback_enabled feature flag and text contact windows)
  - `contact_choice_enabled` boolean, required: Whether new text conversations let the recipient choose a call now or a call at a time they pick (plus the questionnaire for a firm that offers Lead Docket questionnaires), answered by the SMS agent, instead of reply-Y-for-a-link
  - `after_hours_text_enabled` boolean, required: Whether a new lead arriving outside call hours (or on a holiday) is texted to book a call, at the next moment inside text hours that is still outside call hours. Its queued call stays queued; the text can move or cancel it. Needs contact_choice_enabled
  - `requested_call_bypasses_window` boolean, required: Whether a call the recipient asked for right now (by text) is dialed outside the call window
  - `requested_callbacks_enabled` boolean, required: Whether a call at a time the recipient chose (on a call or by text) is dialed at that time even outside the call window
  - `text_fallback_after_attempts` integer, required: How many unanswered outbound calls come before the missed-call text
  - `text_fallback_delay_minutes` integer, required: Minutes between the unanswered call and the missed-call text
  - `text_fallback_expires_hours` integer, required: Hours a text conversation stays open without a reply before it expires
  - `text_from_number` string, nullable: E.164 number outbound texts are sent from. Null falls back to the branding info-request number, then the platform number
  - `sms_agent_uses_lead_timezone` boolean, required: Whether a time the person gives by text without naming a zone is read in their own time zone (the usual one for their state), asking them when it is unknown, instead of the firm's
  - `same_number_per_lead` boolean, required: Whether each lead is called and texted from one of the customer's outbound numbers, the same one every time, instead of the least-used number per call and text_from_number for texts
  - `hours_follow_lead_timezone` boolean, required: Whether calling hours are judged in each lead's own time zone (lead_call contact windows; the call windows become the location-unknown fallback), with a lead who can't be called right now texted immediately instead of on a texting schedule
  - `text_handoff_email_recipients` string[]: Emailed when the SMS agent hands a text conversation to staff

## Changes

- **2026-10-27** `4d3da2f87786`: 1 info
  - added the optional property `text_handoff_email_recipients` to the response with the `200` status
- **2026-10-09** `d61063451a04`: 1 info
  - added the required property `hours_follow_lead_timezone` to the response with the `200` status
- **2026-10-08** `376869b909f7`: 1 info
  - added the required property `sms_agent_uses_lead_timezone` to the response with the `200` status
- **2026-10-07** `0a28ff91ba36`: 1 info
  - added the required property `same_number_per_lead` to the response with the `200` status
- **2026-10-07** `d443593f5f45`: 9 info
  - added the optional property `text_from_number` to the response with the `200` status
  - added the required property `after_hours_text_enabled` to the response with the `200` status
  - added the required property `contact_choice_enabled` to the response with the `200` status
  - added the required property `requested_call_bypasses_window` to the response with the `200` status
  - …5 more

[Operation history](https://skmtc.dev/openintake/apis/openintake-api/changes/developer/outbound-developer-settings/get.md)

---

[API](https://skmtc.dev/openintake/apis/openintake-api.md) - [All operations](https://skmtc.dev/openintake/apis/openintake-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openintake/apis/openintake-api/revisions/de90a8dcbc07?raw)
