forked from andrew-templeton/vaxxie
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtemplate.yaml
3068 lines (3001 loc) · 104 KB
/
template.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >-
Vaxxie!
Parameters:
Namespace:
Type: String
BotName:
Type: String
Default: VacccineSearcher
Description: >-
Change this to do something that requires replacement of the Bot resource,
to test it.
IntentName:
Type: String
Default: SearchForVaccine
Description: >-
Change this to do something that requires replacement of the Intent
resource, to test it.
IntentDescription:
Type: String
Default: Intent to order a vaccine search
Description: >-
Change this for a non-replacement-required Update to the Intent, for
testing.
BotDescription:
Type: String
Default: Bot which manages vaccine searches
Description: 'Change this for a non-replacement-required Update to the Bot, for testing.'
EnvironmentPrefix:
Type: String
VpcSecondOctet:
Type: String
AvailabilityZoneAlpha:
Type: String
Default: us-east-1a
AvailabilityZoneBravo:
Type: String
Default: us-east-1b
AvailabilityZoneCharlie:
Type: String
Default: us-east-1c
DomainName:
Type: String
Default: test
AnnouncementChannel:
Type: String
Default: C01T438NM9B
BotUserIdEn:
Type: String
Default: U01TE5GUTB6
BotUserIdEs:
Type: String
Default: U01T17AQH0W
ElasticsearchInstanceCount:
Type: Number
Default: 6
SlackDomain:
Type: String
Default: lifzar
Resources:
SecretForSlackKey:
Type: AWS::SecretsManager::Secret
### SPANISH
VaccineBotEs:
Type: 'Custom::LexBot'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-bot-1-0-3-ServiceToken
name:
'Fn::Sub': '${Namespace}${BotName}Es'
abortStatement:
messages:
- content: 'Lo siento, pero no puedo entender lo que acaba de decir. La forma principal de utilizarme es preguntar: Encuentrame una vacuna. Si desea saber mas sobre este bot, diríjase a https://github.com/andrew-templeton/vaxxie/blob/master/README-ES.md'
#, o si desea saber mas sobre las Vaccine Updates Texas (Actualizaciones de Vacunas de Texas), vaya aqui! https://www.notion.so/General-FAQ-cdcb7fa2d55c4179bf94efab1665a40c'
contentType: PlainText
childDirected: true
clarificationPrompt:
maxAttempts: 1
messages:
- content: 'Lo siento, pero no puedo entender lo que acaba de decir. La forma principal de utilizarme es preguntar: Encuentrame una vacuna. Si desea saber mas sobre este bot, dirijase a https://github.com/andrew-templeton/vaxxie/blob/master/README-ES.md'
#, o si desea saber mas sobre las Vaccine Updates Texas (Actualizaciones de Vacunas de Texas), vaya aqui! https://www.notion.so/General-FAQ-cdcb7fa2d55c4179bf94efab1665a40c'
contentType: PlainText
description:
Ref: BotDescription
idleSessionTTLInSeconds: 300
intents:
- intentName:
Ref: SearchForVaccineEs
intentVersion: $LATEST
- intentName:
Ref: CancelAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: RescheduleAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: TransferAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: LateApptAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: LeftoverAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: SecondAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: DocumentationAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: BookingAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: NoFoundAppointmentsFAQEs
intentVersion: $LATEST
- intentName:
Ref: ListVaccineSearchesEs
intentVersion: $LATEST
- intentName:
Ref: UpdateVaccineSearchEs
intentVersion: $LATEST
- intentName:
Ref: RemoveVaccineSearchEs
intentVersion: $LATEST
locale: es-US
processBehavior: BUILD
VaccineLambdaLexPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserPreferencePersister
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}SearchForVaccineEs:*"
SearchForVaccineEs:
DependsOn:
- VaccineLambdaLexPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-3-ServiceToken
name:
Fn::Sub: "${Namespace}SearchForVaccineEs"
confirmationPrompt:
maxAttempts: 1
messages:
- content: Deberia comenzar a buscar citas cerca {Zipcode}, dentro {Distance} millas?
contentType: PlainText
description:
Ref: IntentDescription
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserPreferencePersister
- Arn
rejectionStatement:
messages:
- content: 'Esta bien, no voy a buscar esto'
contentType: PlainText
- content: 'Cancele su busqueda.'
contentType: PlainText
sampleUtterances:
- añadir una nueva búsqueda
- buscar en otra parte
- buscar en otro lugar
- buscar en una nueva zona
- dónde puedo obtener una vacuna dentro {Distance} millas
- encontrar otra vacuna
- encontrar una nueva vacuna para mi
- encontrar una vacuna en una nueva zona
- encontrar una vacuna en {Zipcode}
- encuentra citas dentro {Distance} millas de {Zipcode}
- encuentrame una vacuna
- necesito encontrar una vacuna de dos dosis dentro {Distance} millas de código postal {Zipcode}
- necesito encontrar una vacuna dentro {Distance} millas de código postal {Zipcode}
- por favor ayúdame a encontrar una cita
- por favor ayúdame a encontrar una vacuna
- quiero establecer una nueva búsqueda
- quiero mirar en otro sitio
- quiero una cita
slots:
- name: Distance
description: The distance in miles to allow notifications
priority: 1
sampleUtterances:
- dentro de {Distance}
- dentro de {Distance} por favor
- no más de {Distance}
- no más de {Distance} millas
- podría viajar hasta {Distance}
- podría viajar hasta {Distance} millas
- puedo ir {Distance} millas
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: A que distancia esta bien para obtener una vacuna, en millas?
contentType: PlainText
- content: Que tan lejos esta dispuesto a viajar, en millas, a una cita?
contentType: PlainText
- content: Cuanto mayor sea el area que esta dispuesto a ir, mejor. Cuantas millas deberia buscar?
contentType: PlainText
- name: Zipcode
description: The zip code of the search origin
priority: 2
sampleUtterances:
- buscar en {Zipcode}
- cerca del codigo {Zipcode}
- comenzar búsqueda en {Zipcode}
- código postal {Zipcode}
- mi código postal es {Zipcode}
- vivo en {Zipcode}
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: Cual es el codigo postal de que le gustaria que empiece su busqueda?
contentType: PlainText
- content: Cual es su codigo postal?
contentType: PlainText
SearchEditLexPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserPreferenceUpdater
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}UpdateVaccineSearchEs:*"
UpdateVaccineSearchEs:
DependsOn:
- SearchEditLexPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}UpdateVaccineSearchEs"
confirmationPrompt:
maxAttempts: 1
messages:
- content: Debo reemplazar numero de busqueda {Searchnumber} para las citas cerca {Zipcode}, dentro de {Distance} millas?
contentType: PlainText
description: Allow the user to update an existing search
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserPreferenceUpdater
- Arn
rejectionStatement:
messages:
- content: esta bien, no actualizare su busqueda.
contentType: PlainText
- content: Cancele su cambio a la busqueda.
contentType: PlainText
sampleUtterances:
- actualiza de la búsqueda a la que {Distance} desde mi {Zipcode}
- actualiza de la búsqueda a la que {Distance} millas de {Zipcode}
- actualiza de la búsqueda a {Distance} millas
- actualiza de la búsqueda {Searchnumber} sea {Distance} desde mi {Zipcode}
- actualiza de mi búsqueda
- actualiza la búsqueda a estar en {Zipcode}
- actualización de la búsqueda a estar cerca {Zipcode}
- actualización de la búsqueda {Searchnumber} que sea {Distance} millas de {Zipcode}
- altera mi búsqueda para estar cerca {Zipcode}
- altera mi búsqueda para ser {Distance} desde mi {Zipcode}
- cambia búsqueda {Searchnumber} a {Distance} de {Zipcode}
- cambia la búsqueda a ser en {Zipcode}
- cambia la búsqueda a ser {Searchnumber} {Distance} de {Zipcode}
- cambia la búsqueda a {Distance} millas
- cambia la búsqueda {Searchnumber} a {Distance} millas de {Zipcode}
- cambia la búsqueda {Searchnumber} sea {Distance} desde mi {Zipcode}
- cambia mi búsqueda
- cambia mi búsqueda a {Distance} millas de {Zipcode}
- cambia mi búsqueda para estar cerca {Zipcode}
- cambia mi búsqueda para estar en {Zipcode}
- cambia mi búsqueda para ser {Distance} millas
- cambia mi búsqueda para ser {Distance} millas de {Zipcode}
- cambia mi búsqueda rápida para que {Distance} desde {Zipcode}
- mira en otro lugar
slots:
- name: Searchnumber
description: The one-indexed index of the search to edit
priority: 1
sampleUtterances:
- "{Searchnumber} por favor"
- el {Searchnumber} por favor
- la {Searchnumber}
- sustituir {Searchnumber}
- reemplazar número {Searchnumber} por favor
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: 'Cual de busqueda que desea reemplazar? Cuando la lista de las busquedas aparecen tienen una etiqueta como 1 o 2 al lado de ellos. Usted debe decirme que numero se trata. Si necesita ver los numeros de nuevo, me re-preguntar por su lista de busquedas actuales. Si solo alguna vez me pidio que mirara en un solo lugar, solo decir 1. Gracias!'
contentType: PlainText
- name: Distance
description: The distance in miles to allow notifications
priority: 2
sampleUtterances:
- dentro de {Distance}
- dentro de {Distance} por favor
- no más de {Distance}
- no más de {Distance} millas
- podría viajar hasta {Distance}
- podría viajar hasta {Distance} millas
- puedo ir {Distance} millas
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: A que distancia esta bien para obtener una vacuna, en millas, para la busqueda actualizada?
contentType: PlainText
- content: Hasta donde estas dispuesto a viajar, en millas, a una cita, para esta busqueda actualizada?
contentType: PlainText
- content: Cuanto mas grande es el area que esta dispuesto a ir, mejor. Cuantas millas deberia buscar esta busqueda actualizada?
contentType: PlainText
- name: Zipcode
description: The zip code of the search origin
priority: 3
sampleUtterances:
- buscar en {Zipcode}
- cerca del codigo {Zipcode}
- comenzar búsqueda en {Zipcode}
- código postal {Zipcode}
- mi código postal es {Zipcode}
- vivo en {Zipcode}
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: Cual es el codigo postal que le gustaria que empiece su busqueda actualizada de?
contentType: PlainText
- content: Cual es su codigo postal a utilizar para la busqueda actualizada?
contentType: PlainText
SearchRemoveLexPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserPreferenceRemover
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}RemoveVaccineSearchEs:*"
RemoveVaccineSearchEs:
DependsOn:
- SearchRemoveLexPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}RemoveVaccineSearchEs"
confirmationPrompt:
maxAttempts: 1
messages:
- content: Debo quitar numero de busqueda {Searchnumber}?
contentType: PlainText
description: Allow the user to remove an existing search
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserPreferenceRemover
- Arn
rejectionStatement:
messages:
- content: Esta bien, no voy a actualizar su busqueda.
contentType: PlainText
- content: Me cancelaron su cambio a su busqueda.
contentType: PlainText
sampleUtterances:
- borrar búsqueda {Searchnumber}
- borrar una de estas búsquedas
- deja de buscar
- detener mi búsqueda
- eliminar búsqueda {Searchnumber}
- eliminar mi búsqueda
- eliminar mi búsqueda {Searchnumber}
- parar la búsqueda
- parar la búsqueda en uno de estos lugares
- por favor borra una búsqueda
- quiero borrar una de mis búsquedas
- quiero eliminar una de mis búsquedas
- quitar una de estas búsquedas
slots:
- name: Searchnumber
description: The one-indexed index of the search to edit
priority: 1
sampleUtterances:
- "{Searchnumber} por favor"
- el {Searchnumber} por favor
- la {Searchnumber}
- reemplazar número {Searchnumber} por favor
- sustituir {Searchnumber}
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: 'Cual busqueda que desea eliminar? Cuando la lista de las busquedas, que tienen una etiqueta como 1 o 2 al lado de ellos. Usted debe decirme de que numero se trata. Si necesita ver los numeros de nuevo, me re-preguntar a su lista de busquedas actuales. Si solo alguna vez me pidio que mirara en un solo lugar, solo decir 1. Gracias!'
contentType: PlainText
SearchListLambdaLexPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserPreferenceLister
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}ListVaccineSearchesEs:*"
ListVaccineSearchesEs:
DependsOn:
- SearchListLambdaLexPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}ListVaccineSearchesEs"
description: "User indicates intent to inspect the existing searches"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserPreferenceLister
- Arn
sampleUtterances:
- Cuáles son mis búsquedas actuales
- donde está usted buscando en este momento
- Qué estás tratando de encontrar
- Cuál cosas he buscado anteriormente
- Dónde está buscando ahorita
- Qué estás buscando en este momento
- cuál era mi última búsqueda
- qué estás encontrando en este momento
- favor de hacer una lista de mis búsquedas
- mostrar mis búsquedas
- Muéstrame una lista de mis búsquedas
- Mostrar lo que estás buscando
- mostrar todas mis búsquedas
- mostrar todas las cosas que usted está buscando
- Dónde estas buscando
- muéstrame lo que está buscando
- me muestra todas sus búsquedas, por favor
- muestra todos los lugares que está buscando para mí
- donde está usted buscando vacunas para mí
- Cuáles son mis búsquedas
- Hágame una lista de todos los lugares que está buscando
- Lista de mis búsquedas
CancelAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}CancelAppointmentsFAQEs:*"
CancelAppointmentsFAQEs:
DependsOn:
- CancelAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}CancelAppointmentsFAQEs"
description: "Allows the user to ask questions about how to cancel appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- alguien sabe cómo cancelar
- cómo cancelamos una cita
- cómo canceló ud.
- cómo puedo cancelar
- cómo se cancela
- cómo se canceló
- enlace para cancelar
- estoy intentando cancelar
- estoy tratando de cancelar
- hay un correo electrónico para cancelar
- hay un número para cancelar la cita
- necesito cancelar mi cita
- no puedo hacer la cita
- uno de mis vecinos no puede asistir a su cita
RescheduleAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}RescheduleAppointmentsFAQEs:*"
RescheduleAppointmentsFAQEs:
DependsOn:
- RescheduleAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}RescheduleAppointmentsFAQEs"
description: "Allows the user to ask questions about how to reschedule appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- cómo puedo cambiar la fecha
- cómo reprogramar
- cómo se reprograma
- se puede reprogramar citas
TransferAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}TransferAppointmentsFAQEs:*"
TransferAppointmentsFAQEs:
DependsOn:
- TransferAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}TransferAppointmentsFAQEs"
description: "Allows the user to ask questions about how to transfer appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- cómo se puede transferir una cita a otra persona
- se puede transferir citas a alguién
- se puede transferir las citas a un otro
- son transferibles
LateApptAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}LateApptAppointmentsFAQEs:*"
LateApptAppointmentsFAQEs:
DependsOn:
- LateApptAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}LateApptAppointmentsFAQEs"
description: "Allows the user to ask questions about how to transfer appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- creo que voy a perder mi cita
- les importa si llego tarde
- llego tarde
- qué pasa si llego tarde
- qué pasa si me olvido mi cita
- se me hace tarde
- tiene que estar allí a la hora de la cita
- voy a llegar tarde
- y si llegas tarde
LeftoverAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}LeftoverAppointmentsFAQEs:*"
LeftoverAppointmentsFAQEs:
DependsOn:
- LeftoverAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}LeftoverAppointmentsFAQEs"
description: "Allows the user to ask questions about how to transfer appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- hay alguna dosis extra
- hay algunas vacunas adicionales
- hay dosis sobrantes
- hay más dosis sobrantes
- hay más vacunas sobrantes
- hay restos de vacunas
- hay una vacunas que sobraron
- hay unas doses que queden
- hay unas sobrantes
- hay unas vacunas que sobraron
- hay vacunas adicionales
- hay vacunas que sobran
- hay vacunas sobrantes
- que pasará si hay más restos de vacunas
- que pasará si hay vacunas sobrantes
- que sucede cuando unas personas no asisten a sus citas
- qué pasa si hay más dosis sobrantes
- qué pasa si hay más vacunas que sobren
- qué pasa si hay vacunas sobrantes
SecondAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}SecondAppointmentsFAQEs:*"
SecondAppointmentsFAQEs:
DependsOn:
- SecondAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}SecondAppointmentsFAQEs"
description: "Allows the user to ask questions about how to get second appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- cuando se la segunda dosis programadas
- cuando se programan segundo vacunas
- cuando se programen segunda dosis
- cuándo son programadas las segundas citas
- cómo reservar la segunda dosis
- cómo reservar una segunda cita
- cómo reservar una segunda dosis
- cómo reservar una segunda vacuna
- dónde puedo encontrar una segunda cita
- dónde puedo encontrar una segunda dosis
- dónde puedo encontrar una segunda vacuna
- encontrar una seguna vacuna
- encontrar una segunda cita
- encontrar una segunda dosis
- encontrar una segunda vacuna
- es la segunda esquema de vacunación programada durante la primera cita
- horario segunda cita
- la segunda dosis está programada durante la primera cita
- las citas para la segunda dosis son programadas durante la primera cita
- las segundas vacunas son programadas durante la primera cita
- programar la segunda dosis
- programar la segunda vacuna
- programar la vacuna segunda
- programar una segunda cita
- programar una segunda dosis
- programar una segunda oportunidad
- programar una segunda vacuna
DocumentationAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}DocumentationAppointmentsFAQEs:*"
DocumentationAppointmentsFAQEs:
DependsOn:
- DocumentationAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}DocumentationAppointmentsFAQEs"
description: "Allows the user to ask questions about what documentation to bring to appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- cómo puedo demostrar que soy elegible
- hay algo papeleo que debo llevar
- hay que llenar formularios
- necesita su id
- necesita su identificación
- no he recibido un correo electrónico
- no recibi un correo electrónico
- no tengo la página de confirmación
- que deberia llevar
- qué documentación piden
- qué documentos debo llevar
- qué me necesito para llevar
- qué prueba de mi estado piden
- qué pruebas debo llevar
- qué pruebas piden
- se requiere papeleo
BookingAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}BookingAppointmentsFAQEs:*"
BookingAppointmentsFAQEs:
DependsOn:
- BookingAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}BookingAppointmentsFAQEs"
description: "Allows the user to ask questions about what documentation to have when booking appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- cuál es la información que necesita
- cuál es la información que necesita cuando me reservar una cita
- cuál es la información que necesita para que pueda registrarse para obtener una cita
- cuál es la información que necesita para que puedo reservar una cita
- cuál información es requirida cuando reservo una cita
- cuál información necesitan para que pueda registrarse para obtener una cita
- cuál información requiren para reservar una cita
- qué información necesitas
- qué información requieren
- qué información se necesita cuando me reserva una cita
- qué información se necesita para que pueda registrarse para obtener una cita
- qué información se necesita para que pueda reservar una cita
NoFoundAppointmentsFAQLambdaPermissionEs:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserQuestionFAQAnswerer
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}NoFoundAppointmentsFAQEs:*"
NoFoundAppointmentsFAQEs:
DependsOn:
- NoFoundAppointmentsFAQLambdaPermissionEs
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}NoFoundAppointmentsFAQEs"
description: "Allows the user to ask questions about where the heck are the appointments"
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserQuestionFAQAnswerer
- Arn
sampleUtterances:
- a qué hora presenten nuevas dosis
- a qué hora presenten nuevas ranuras
- a qué hora suele bajar de nuevas citas
- a qué hora suele bajar de vacunas
- cualquier posibilidad de abrir puntos para mañana
- cualquier posibilidad de abrir ranuras para mañana
- cualquier posibilidad de apertura de las vacunas para mañana
- cuál es el tiempo en que generalmente presenten nueva disponibilidad
- cuándo habrá más dosis
- cuándo habrá más nombramientos
- cuándo habrá más ranuras
- cuándo habrá más vacunas
- hay alguna cita disponible
- hay alguna dosis disponibles
- hay alguna ranuras disponibles
- hay alguna vacuna disponible
- hay cualquier posibilidad de abrir las citas para mañana
- hay cualquier posibilidad de apertura de las dosis para mañana
- sabe cuándo será mayor disponibilidad
- sabe cuándo será más dosis
- sabe cuándo será más ranuras
- sabe cuándo será más vacunas
#ENGLISH
VaccineLambdaLexPermission:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserPreferencePersister
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}SearchForVaccine:*"
SearchForVaccine:
DependsOn:
- VaccineLambdaLexPermission
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-3-ServiceToken
name:
Fn::Sub: "${Namespace}${IntentName}"
confirmationPrompt:
maxAttempts: 1
messages:
- content: >-
Should I begin searching for appointments near {Zipcode}, within {Distance} miles?
contentType: PlainText
description:
Ref: IntentDescription
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt:
- UserPreferencePersister
- Arn
rejectionStatement:
messages:
- content: 'Okay, I won''t search for this.'
contentType: PlainText
- content: I canceled your search.
contentType: PlainText
sampleUtterances:
- Find me a vaccine
- Where can I get a vaccine within {Distance}
- Find appointments within {Distance} miles of {Zipcode}
- I want a vaccine
- Please help me find an appointment
- Please help me find a vaccine
- I want an appointment
- Find a vaccine in {Zipcode}
- I need to find a two dose vaccine within {Distance} miles of zip code {Zipcode}
- I need to find a vaccine within {Distance} miles of zip code {Zipcode}
- find another vaccine
- add another search
- look in another place
- search in a new area
- find a vaccine in a new area
- find me a new vaccine
- i want to set another search up
- I want to look somewhere else
- look somewhere else
slots:
- name: Distance
description: The distance in miles to allow notifications
priority: 1
sampleUtterances:
- No more than {Distance}
- No more than {Distance} miles
- I could go up to {Distance} miles
- I could go up to {Distance}
- I can drive {Distance} miles
- Within {Distance}
- Within {Distance} please
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: How far away is okay to get a vaccine, in miles?
contentType: PlainText
- content: How far are you willing to travel, in miles, to an appointment?
contentType: PlainText
- content: The larger the area you're willing to go, the better. How many miles should I search?
contentType: PlainText
- name: Zipcode
description: The zip code of the search origin
priority: 2
sampleUtterances:
- Zip code {Zipcode}
- My zip code is {Zipcode}
- I live in {Zipcode}
- Start search in {Zipcode}
- Look in {Zipcode}
- Near {Zipcode}
slotConstraint: Required
slotType: AMAZON.NUMBER
valueElicitationPrompt:
maxAttempts: 1
messages:
- content: What is the zip code you would like me to start your search from?
contentType: PlainText
- content: What is your zip code?
contentType: PlainText
SearchEditLexPermission:
Type: AWS::Lambda::Permission
Properties:
Action: lambda:InvokeFunction
FunctionName:
Ref: UserPreferenceUpdater
Principal: lex.amazonaws.com
SourceArn:
Fn::Sub: "arn:aws:lex:${AWS::Region}:${AWS::AccountId}:intent:${Namespace}UpdateVaccineSearch:*"
UpdateVaccineSearch:
DependsOn:
- SearchEditLexPermission
Type: 'Custom::LexIntent'
Properties:
ServiceToken:
'Fn::ImportValue': cfn-lex-intent-1-0-4-ServiceToken
name:
Fn::Sub: "${Namespace}UpdateVaccineSearch"
confirmationPrompt:
maxAttempts: 1
messages:
- content: Should I replace search number {Searchnumber} for appointments near {Zipcode}, within {Distance} miles?
contentType: PlainText
description: Allow the user to update an existing search
fulfillmentActivity:
type: CodeHook
codeHook:
messageVersion: '1.0'
uri:
Fn::GetAtt: