0

New SMS

by
Published Oct 10, 2023

Trigger every time an SMS is sent to the phone number set.

Scriptยท trigger twilio Verified

The script

Submitted by hugo697 Bun
Verified 398 days ago
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, phoneNumber: string) {
10
  const client = new Twilio(auth.accountSid, auth.token);
11

12
  const lastCheckedTime: number | null = await getState();
13

14
  const messages = await client.messages.list({
15
    to: phoneNumber,
16
    limit: 1000,
17
  });
18

19
  const newMessages = lastCheckedTime
20
    ? messages.filter((message) => message.dateCreated.getTime() > lastCheckedTime)
21
    : messages;
22

23
  if (newMessages.length > 0) {
24
    await setState(newMessages[0].dateCreated.getTime());
25
  }
26

27
  return newMessages;
28
}