@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.