Trigger when a new call recording is created
1
import { Twilio } from "twilio";
2
import { getState, setState } from "windmill-client@1";
3
4
type Twilio = {
5
accountSid: string;
6
token: string;
7
};
8
9
export async function main(auth: Twilio) {
10
const client = new Twilio(auth.accountSid, auth.token);
11
12
const lastCheckedTime: number | null = await getState();
13
14
const recordings = await client.recordings.list();
15
16
const newRecordings = lastCheckedTime
17
? recordings.filter(
18
(recording) => recording.dateCreated.getTime() > lastCheckedTime
19
)
20
: recordings;
21
22
if (newRecordings.length > 0) {
23
await setState(newRecordings[0].dateCreated.getTime());
24
}
25
26
return newRecordings;
27
28