update_project_settings
Update project settings while retaining unspecified fields; pass null to clear optional values. Configure outbound channels, follow-up cadence, sender identity, and compliance options.
Instructions
Update user-editable project settings. Any omitted field keeps its current value. Pass null to clear nullable fields.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Project name or ID | |
| outboundMode | No | "send" sends immediately; "draft" stores as reviewable LeadAce drafts instead of sending. | |
| inquiryCtaUrl | No | CTA URL, https:// only. For inquiryCtaType="meeting": optional scheduling URL — when null the meeting button is notify-only. For inquiryCtaType="signup": the signup page URL, required. | |
| inquiryPdfUrl | No | Public URL for the "download PDF" button on the landing page. https:// only. | |
| footerOverride | No | Custom footer replacing the default compliance footer VERBATIM on every outbound message (email, and form / SNS draft text) — when set, it must itself carry the "---" separator and the legally required disclosures. null restores the default. Mutually exclusive with inquiryLandingEnabled (400). | |
| inquiryCtaType | No | Landing CTA mode. "meeting" (default): Book/Request meeting button, inquiryCtaUrl optional (scheduling URL). "signup": Sign up button redirecting to inquiryCtaUrl, which is required in this mode. | |
| senderJobTitle | No | Job title / role shown alongside senderDisplayName on the inquiry-landing header. No-op when senderDisplayName is null. | |
| targetLanguage | No | Language of this project's outbound messages (default "en"): sets the compliance-footer / identity localization and the language outbound subjects and bodies are written in. Independent of targetCountries; recipient-facing web pages (inquiry landing, unsubscribe) follow the visitor's browser language instead. | |
| inquiryOneLiner | No | Single-sentence value prop shown above the chat input on the landing page. | |
| inquiryVideoUrl | No | YouTube/Vimeo unlisted video URL embedded on the landing page. https:// only. | |
| targetCountries | No | Country codes that further narrow the compliance-level send allowlist. Empty array (default) = no project-level restriction; non-empty = explicit allowlist. | |
| followUpSequence | No | Follow-up sequence for unanswered prospects. gapDays = relative waits in DAYS before each next touch (default [3,7,7]). Whole-object replace: omitting `enabled` sets it false, disabling follow-ups AND clearing in-progress sequences — pass enabled:true explicitly to keep them on while changing cadence. | |
| inquiryChatBrief | No | Briefing for the inquiry-landing chat agent. null disables chat input but keeps the rest of the landing page rendering. | |
| outboundChannels | No | Channels the project is allowed to use for outbound. Default: email, form, sns_twitter, sns_linkedin — "platform" must be enabled explicitly. Empty array pauses automated outbound (manual per-draft send still works). | |
| senderEmailAlias | No | Gmail Send-As alias to use as From: address. null = primary Gmail. Ignored when the project sends from a custom SMTP mailbox. | |
| inquiryBrandColor | No | Landing-page accent color. | |
| senderCompanyName | No | Company / brand name shown to recipients on the inquiry landing. Distinct from the compliance-footer legal name and the internal workspace name. null omits it. | |
| senderDisplayName | No | Personal name shown as the email From: display name and on the inquiry-landing header. | |
| unsubscribeEnabled | No | Attach the RFC 8058 List-Unsubscribe one-click headers to outbound email. | |
| inquiryBrandLogoUrl | No | Public URL for the brand logo shown on the landing page. https:// only. | |
| maxReapproachCycles | No | Hard cap on rejection cycles before forcing rejected + DNC. Default 3. | |
| inquiryDarkBackground | No | Landing background mode: false = light (default), true = dark. | |
| inquiryLandingEnabled | No | When true, outbound emails include an inquiry-landing URL footer that hosts a per-recipient AI chat, meeting-request button, and unsubscribe-with-reason flow. | |
| noResponseRecycleDays | No | Days after a sent outreach before the prospect is re-eligible if no response arrived. Default 90. Only advances the re-eligibility window forward, never shortens a longer existing deferral (e.g. a rejection-feedback 12-month window). | |
| unspecifiedRecontactWindowMonths | No | Months to defer when rejection feedback preferred_recontact_window is "unspecified". Default 3. |