{editing ? $i18n.t('Edit webhook') : $i18n.t('Add webhook')}

{$i18n.t('Send events for')}
{#if targetMode === 'all'} {$i18n.t( 'Receives matching events across the instance, including system/config events and events associated with any user.' )} {:else if targetMode === 'system'} {$i18n.t('Receives matching events that are not associated with a user.')} {:else} {$i18n.t( 'Receives matching user-associated events only when the actor, user subject, or user data matches these users or current group members. System/config events are not sent.' )} {/if}
{#if targetMode === 'selected'}
{#if targetUserIds.length > 0 || targetGroupIds.length > 0}
{#each targetGroupIds as id}
{selectedGroups[id]?.name ?? id} {$i18n.t('group')}
{/each} {#each targetUserIds as id}
{selectedUsers[id]?.name ?? id} {$i18n.t('user')}
{/each}
{/if}
{#if targetQuery.trim() && (targetGroupResults.length > 0 || targetUserResults.length > 0)}
{#each targetGroupResults as group} {/each} {#each targetUserResults as user} {/each}
{/if}
{/if}
{#if !allEvents}
{#if form.events.length > 0}
{#each form.events as event}
{event}
{/each}
{/if}
{ if (event.key === 'Enter') { event.preventDefault(); addPattern(); } }} />
{#each filteredEvents as event} {/each}
{$i18n.t( 'Event names may change as Open WebUI evolves. Use broad patterns like user.* for integrations that should continue across new related events.' )}
{/if}
{#if editing} {/if}
{ deleteWebhook(); }} />
{$i18n.t('Events')}

{$i18n.t('Webhooks')}
{#each webhooks as webhook}
{webhook.id === 'default' ? $i18n.t('Default webhook') : webhook.name} - {urlHost(webhook.url)} - {eventSummary(webhook)} - {targetSummary(webhook)}
{ toggleWebhook(webhook, event.detail); }} />
{/each}
{#if webhooks.length === 0}
{$i18n.t('No event webhooks configured.')}
{/if}
{$i18n.t( 'Send product events as JSON to external services. Chat destinations receive readable messages.' )}