Using the DevPhone to communicate with a TAC-based application causes duplicate messages to be sent to the application. This causes the TAC application to send two (different AI-composed) messages back to the DevPhone.
STR:
- Run TAC application & DevPhone
- Message the application from the DevPhone
- Get two different messages back from the DevPhone
Application logging
INFO: connection closed 2026-07-15 10:33:10 - tac.tac.channels.sms - INFO - CONVERSATION | Started SMS conversation [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, profile_id=None] [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Hi, I'd like to check on my bag." [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Hi, I'd like to check on my bag." [tool] check_bag_status({'confirmation_code': 'OLL100And1'}) → {"error": "No reservation found for code OLL100And1"} [tool] check_bag_status({'confirmation_code': 'OLL100And1'}) → {"error": "No reservation found for code OLL100And1"} ← "I'm sorry, it seems like there might be a mistake with the reservation code OLL100And1. Could you please verify the code for me or let me know if you have any other details that might help?" 2026-07-15 10:33:15 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] [tool] get_reservations_by_phone({'phone': 'XXXXXXXXX2253'}) → {"reservations": [{"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "flight_number": "OA530", "origin": " [tool] check_bag_status({'confirmation_code': 'OWL101'}) → {"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "bag_status": "Currently taking a hydration break"} ← "Your bag is currently taking a "hydration break." While it should be reunited with you soon, please let me know if I can assist with anything else during this time!" 2026-07-15 10:33:18 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Can you give me a coupon code?" [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Can you give me a coupon code?" [tool] send_coupon({'confirmation_code': 'OLL100And1', 'reason': 'delayed baggage'}) → {"error": "No reservation found for code OLL100And1"} [tool] send_coupon({'confirmation_code': 'OLL100And1', 'reason': 'delayed baggage'}) → {"error": "No reservation found for code OLL100And1"} ← "I'm sorry, it seems there was an error finding your reservation with the code "OLL100And1." Could you double-check the confirmation code, or provide any additional details you might have? I'll be happy to issue the coupon once we resolve this." ← "I apologize, but it seems there was an error with the reservation code. Could you please confirm the correct reservation code for me?" 2026-07-15 10:33:38 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] 2026-07-15 10:33:38 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "OWL101" [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "OWL101" [tool] send_coupon({'confirmation_code': 'OWL101', 'reason': 'delayed baggage'}) → {"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "coupon_code": "OWL-69D1F7", "value": "$50 Owl Airlines [tool] send_coupon({'confirmation_code': 'OWL101', 'reason': 'bag status check'}) → {"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "coupon_code": "OWL-D7B213", "value": "$50 Owl Airlines ← "Thanks for your patience. I've issued a $50 travel credit as a goodwill gesture for your delayed baggage. Your coupon code is OWL-69D1F7. Let me know if there's anything else I can assist you with!" ← "I've issued a $50 travel credit coupon for you. Your coupon code is OWL-D7B213. If there's anything else you need, just let me know!" 2026-07-15 10:33:57 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] 2026-07-15 10:33:57 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253]
Screenshot:

Using the DevPhone to communicate with a TAC-based application causes duplicate messages to be sent to the application. This causes the TAC application to send two (different AI-composed) messages back to the DevPhone.
STR:
Application logging
INFO: connection closed 2026-07-15 10:33:10 - tac.tac.channels.sms - INFO - CONVERSATION | Started SMS conversation [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, profile_id=None] [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Hi, I'd like to check on my bag." [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Hi, I'd like to check on my bag." [tool] check_bag_status({'confirmation_code': 'OLL100And1'}) → {"error": "No reservation found for code OLL100And1"} [tool] check_bag_status({'confirmation_code': 'OLL100And1'}) → {"error": "No reservation found for code OLL100And1"} ← "I'm sorry, it seems like there might be a mistake with the reservation code OLL100And1. Could you please verify the code for me or let me know if you have any other details that might help?" 2026-07-15 10:33:15 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] [tool] get_reservations_by_phone({'phone': 'XXXXXXXXX2253'}) → {"reservations": [{"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "flight_number": "OA530", "origin": " [tool] check_bag_status({'confirmation_code': 'OWL101'}) → {"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "bag_status": "Currently taking a hydration break"} ← "Your bag is currently taking a "hydration break." While it should be reunited with you soon, please let me know if I can assist with anything else during this time!" 2026-07-15 10:33:18 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Can you give me a coupon code?" [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "Can you give me a coupon code?" [tool] send_coupon({'confirmation_code': 'OLL100And1', 'reason': 'delayed baggage'}) → {"error": "No reservation found for code OLL100And1"} [tool] send_coupon({'confirmation_code': 'OLL100And1', 'reason': 'delayed baggage'}) → {"error": "No reservation found for code OLL100And1"} ← "I'm sorry, it seems there was an error finding your reservation with the code "OLL100And1." Could you double-check the confirmation code, or provide any additional details you might have? I'll be happy to issue the coupon once we resolve this." ← "I apologize, but it seems there was an error with the reservation code. Could you please confirm the correct reservation code for me?" 2026-07-15 10:33:38 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] 2026-07-15 10:33:38 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "OWL101" [sms] conv=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0 phone=XXXXXXXXX2253 → "OWL101" [tool] send_coupon({'confirmation_code': 'OWL101', 'reason': 'delayed baggage'}) → {"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "coupon_code": "OWL-69D1F7", "value": "$50 Owl Airlines [tool] send_coupon({'confirmation_code': 'OWL101', 'reason': 'bag status check'}) → {"confirmation_code": "OWL101", "passenger_name": "Mica Swyers", "coupon_code": "OWL-D7B213", "value": "$50 Owl Airlines ← "Thanks for your patience. I've issued a $50 travel credit as a goodwill gesture for your delayed baggage. Your coupon code is OWL-69D1F7. Let me know if there's anything else I can assist you with!" ← "I've issued a $50 travel credit coupon for you. Your coupon code is OWL-D7B213. If there's anything else you need, just let me know!" 2026-07-15 10:33:57 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253] 2026-07-15 10:33:57 - tac.tac.channels.sms - INFO - Sent SMS response via Actions API [conversation_id=conv_conversation_01kxjhyye7ewwtvg1e0yw6fzk0, to_address=+4***2253]Screenshot: