Skip to main content

@dialstack/sdk / index / ButtonParams

Type Alias: ButtonParams

type ButtonParams =
| {
target?: {
line_index?: number;
};
type: "line";
}
| {
target: {
user: "self" | string;
};
type: "blf_extension";
}
| {
target: {
slot: number;
};
type: "blf_park";
}
| {
target: {
shared_voicemail_box: string;
};
type: "blf_voicemail_shared";
}
| {
target: {
queue: string;
user: "self" | string;
};
type: "blf_queue_agent";
}
| {
target: {
queue: string;
};
type: "blf_queue_depth";
}
| {
target: {
destination: string;
};
type: "speed_dial";
}
| {
target: {
digits: string;
};
type: "dtmf";
}
| {
target?: {
user?: "self" | string;
};
type: "voicemail";
}
| {
target: {
url: string;
};
type: "url";
}
| {
target: {
address: string;
port: number;
};
type: "multicast";
}
| {
target?: Record<string, never>;
type: "conference";
}
| {
target: {
mode: "blind" | "attended";
};
type: "transfer";
}
| {
target?: {
destination?: string;
};
type: "forward";
}
| {
target?: {
slot?: number;
};
type: "park";
}
| {
target: {
user: string;
};
type: "intercom";
}
| {
target?: Record<string, never>;
type: "dnd";
}
| {
target?: Record<string, never>;
type: "record_toggle";
};

Defined in: sdk/src/types/button.ts:50

Type-narrowed button params used by CreateTemplateButton / CreateDeviceButtonOverride. Pair this discriminator with its target shape so TypeScript catches mismatched payloads at compile time.