import streamlit as st import requests import threading from dotenv import load_dotenv import os # Load environment variables from .env file load_dotenv() # Retrieve environment variables auth_token = os.getenv('auth_token') phone_number_id = os.getenv('phone_number_id') assistant_id = os.getenv('assistant_id') def make_call(phone_number): headers = { 'Authorization': f'Bearer {auth_token}', 'Content-Type': 'application/json', } data = { 'assistantId': assistant_id, 'phoneNumberId': phone_number_id, 'customer': { 'number': phone_number, }, } response = requests.post('https://api.vapi.ai/call/phone', headers=headers, json=data) if response.status_code == 201: st.write(f'Call to {phone_number} created successfully') else: st.write(f'Failed to create call to {phone_number}') def main(): st.title('Outbound Calls Using VAPI.AI') phone_numbers_input = st.text_input('Enter phone numbers (e.g., +62187461, +198724914):') phone_numbers = [num.strip() for num in phone_numbers_input.split(',') if num.strip()] if st.button('Make Calls'): threads = [] for number in phone_numbers: thread = threading.Thread(target=make_call, args=(number,)) thread.start() threads.append(thread) for thread in threads: thread.join() st.success('Calls initiated successfully') if __name__ == '__main__': main()