You can use Twilio to very easily create outgoing telephone calling scripts with #Python
26 lines of code and you have the start of your own robocalling bot!
Imagine connecting this to your work order system to automatically notify customers when their work is done, or as some type of alert system.
It's amazing what you can play with for free now a days!!!
Welcome back to another episode of stupid geek tricks with your host Eli the computer guy O did you know Twilio has their own markup language twiddle. I don't know it's Twi ML. How do you say that? I just don't know. But anyways, in fact, Twilio has their own markup language, which is pretty cool. And this is also one of the things to be thinking about with the idea of stacks in the modern world like. So many times people ask, you know, what language do I need to learn in order to get a job or whatever else. And you know, there's that whole note or Python or C or whatever, learn Linux or Windows or whatnot. And it is important to understand with a lot of these infrastructure as a service, a systems or software as a service systems, they themselves are actually pretty darn complicated. So depending on what you're trying to do, a learning, a learning is something like Twilio itself might be its own. Skill set, it's literally got its own language, but anyways, anyways, uh, what I did today, I think this is pretty cool is I created a little outbound calling system using Twilio. So this is a Python script. This is reliable residing locally on this MacBook Pro and what this is going to do is going to go out and it's going to communicate with Twilio in order to be able to send a call to my little free. Telephone number here. So if you want to play around with these telephone systems, a Google Voice will actually give you a free telephone number. For some reason, the modern world, the kid, the kids, the kids literally like, I know, I know I'm not supposed to give kids crap anymore, but come on now you have so much at your disposable that is free. I literally, I was like crap. I need a free telephone number because I don't want to show you folks my, my, my phone number all the time. How do I do that? And I just Google search I was like free telephone number and then Google Voice came U and then Google Voice literally just gave me a free telephone number so I can make calls from this thing. I can get calls from this thing. I'm just saying kids, kids like yes, yes, I'm look how you might not be able to afford a house. You might not be able to afford medical care, but but. There are better, there are benefits to the modern world. Anyways, so basically this is my little telephone thing here, so I can use this. This is just just like completely like a normal telephone. I've got an actual telephone number up here. So we go we take a look at our script. I'm using environment variables now because these actually have keys and tokens. I don't want you to see that was one thing with Twilio or rotating, rotating your your API keys is a bit of a pain in the ****. So anyways, I don't want you to show you don't want to show you that there. So basically this up here, this is just for the API keys and then this is for Twilio itself. So I have a env file U there EMV file. It's going to pull in the values from the dot env file and that's see this OS dot git environment and then it will set it to these variable values. And then this is where you actually connect with Twilio. So client equals client account ID auth token blase blase. Then we have the two phone number. So this is the number we're going to be calling to the from phone number. So this is Twilio's number. Also, I again, I'm using free service for this, so it doesn't cost me anything to play around with this. And then we go come down here and we look at our little function for for the call, right? So call equals. This is all basically copy paste. This is what you're going to change in here, right? SO20ML. So this is the Twilio markup language. So response response is basically what the response is going to be and then say So the say tag, whenever you see the say tag, that is what The thing is actually going to say. And then we're going to pause for two seconds. Play something else and the pause for two seconds it is weird with us like literally if you don't put a pause in here as soon like and I mean as soon as it finishes saying anything it disconnects the phone so that could be a little disconcerting so that's why I put this extra pause in here so say hello world this is the Twilio bot calling wait 2 seconds that was fun goodbye wait 2 seconds and then cut 2 the two phone number from the from phone number. So basically when we run this just so you know when I pick up the call, it's going to have this little free twilio message because. And I am using a free Twilio service, so I'll have that. But then when I press a number, it will go through the script. And so when we go through the script, that's what the normal call would be like, oh, let's do this. I'm going to hit the play. I'm going to call in. Wow. Trial accounts, you can remove this message. See that's the whole trial account thing Account. So this is the normal message world. This is the Twilio bot calling. Yeah, it was fun. Goodbye. See look at that so that was that was all basically I have this my low Python script here. It sent this U to Twilio Twilio then sent the phone call to this phone service was able to pick it up and then it read through that nice little message there and again, remember with this kind of thing, you can do F strings. So see with this, this is just a string here, so you can do an F string. So you could have this information coming in the say these could be this could be variable values like say your. Your car has been fixed. We are open until 6:00 tonight. Or say we've run into a problem with fixing your computer, blah, blah, blah. Could you please call us back at this particular phone number? So the cool part about this too is basically with F strings, you could dynamically populate this variable value to be customized for whatever it is that your particular app would need. And so as I've said before, this is the really cool thing with the modern world of technology. Is that so many of these different services can really be pulled together and to create a very robust platform I mean shockingly easily I mean look at this it's 20 it's 27 lines of code theoretically and there's a lot of frankly a lot of this is crap code so probably probably about 20 lines of actual code literally gets you this and it doesn't cost very much the cool part about this is this is all going through Twilio so Twilio does charge you some money for this but. It's not, it's not horrible. It's like a phone number. I'm probably going to buy a phone number just to make my life easier. A phone number is like $1.50 a month. For a phone number, it's $1.50 a month. Plus they have some other fees on top of that. It's just, it's just so incredibly inexpensive. So imagine being able to add a telephone component to whatever you're doing. I don't know. I think it seems, I think it seems pretty cool. So yeah, anywho, this is the type of thing we are going to be teaching at Silicon Dojo on February. 11th, we're going to be having a class on Twilio and 11 labs for artificial intelligence agents for telephony. I don't know whatever the hell I'm naming that class. Anyways, you can go take a look at silicondojo.com if you're interested in that. This is the type of project we're going to do. See you later.
These days I played with something similar, but instead of TWillio I used 3G USB modems, which you can control with AT commands and minicom, for more advanced you can use gammu. You can use them to start/stop stuff with simple phone beeps, with SMS messages you can do more advanced stuff. The entire thing doesn't need cloud or subscriptions. The only thing it needs it's some prepay SIM, which where I live is cheap.
This is a great example of using simple automation to solve high-impact operational needs. Twilio and Python make a powerful combo for improving customer touchpoints without over-engineering.
incredible,now i understand why everyone says ai is more dangerous than nuclear weapons...Nigerian Princes with an english accent is far more dangerous than nukes 😆. On a real note excited to see the class in february on this topic.
Here’s a demo of my Python command engine in action!🔥🔥🔥
This project is designed to bridge the gap between technical commands and everyday language. Whether it’s scanning your PC, opening apps, checking you IP address or viewing reports, you can simply say it in plain English and the engine executes it for you.
The voice recognition feature makes it even more intuitive, giving non‑IT users the power to manage tasks without needing to memorize commands.
This is just the demo version — more features and less bugs on the way!
#Automation#IT#TlotloMasisi
There was a time when configuring network devices meant logging into each device individually, executing commands line by line, and verifying everything manually.
That approach builds fundamentals — but it doesn’t scale.
In this demonstration, I automated a focused segment of multi-device configuration using Python, transforming repetitive CLI execution into a scalable, repeatable process:
• Logging into each device
• Repeating configuration blocks
• Risking inconsistency
• Spending hours on deployment
Now it’s:
✔ One structured script
✔ Multiple devices configured simultaneously
✔ Consistent execution
✔ Reduced operational risk
This shift isn’t just about efficiency — it’s about engineering maturity.
As networks grow in size and complexity, manual configuration becomes a bottleneck. Automation transforms device-level operations into scalable infrastructure processes.
My focus is evolving from executing configurations to designing systems that deploy them reliably at scale.
#NetworkAutomation#InfrastructureEngineering#python#EnterpriseNetworking#AutomationStrategy
𝗥𝗲𝗺𝗼𝗍𝗲 𝗕𝘂𝗶𝗹𝗱𝘀 𝗔𝗿𝗲 𝗘𝗮𝘀𝘆 𝗧𝗼 𝗧𝗮𝗹𝗸 𝗔𝗯𝗼𝘂𝘁
You want to set up remote builds. This video shows you how. It uses a Python Fabric file to run commands over SSH. Here's what happens:
- The repo gets cloned on the remote machine
- The build runs
- Logs are saved for debugging
The demo uses username and password auth for simplicity. In a real environment, you'd use keys or SSH certificates.
What's your remote build setup like?
Source: https://lnkd.in/dZX8RPTn
Optional learning community: https://t.me/GyaanSetuAi
🚀 Project Showcase: Building a Python Virtual Assistant
I’m excited to share Jarvis, a custom automation tool I built to explore the mechanics of voice-controlled systems and Python scripting.
The goal was to create a lightweight, modular assistant capable of handling system tasks and retrieving information hands-free.
⚙️ Technical Highlights:
Voice-to-Action Pipeline: Integrated SpeechRecognition for input and pyttsx3 for real-time audio feedback, creating a seamless conversational loop.
System Automation: utilized os and requests libraries to programmatically control applications and fetch web data.
Modular Architecture: Recently refactored the codebase to separate concerns, including a dedicated musicLibrary module for dynamic media handling.
Version Control: Managed the development lifecycle using Git/GitHub to handle feature branches and code updates efficiently.
💻 View the Source Code: The repository is open-source and includes setup instructions. 🔗 https://lnkd.in/gzw3nfdF
I’d appreciate any feedback on the code structure or suggestions for new automation features to add!
#Python#SoftwareDevelopment#Automation#OpenSource#GitHub#Coding#ComputerScience
Practical Tip + Experience:
Handling multiple browser tabs in Selenium (Python) used to confuse me early in my automation journey.
The key learning? 👉 Always track your window handles.
Switching between tabs isn’t magic — it’s about understanding driver.window_handles and knowing when to switch context.
In real projects, this comes up a lot:
• Payment gateways
• OAuth logins
• Reports opening in new tabs
A small mistake like not switching back to the parent tab can break an entire test suite.
Automation isn’t just about writing code — it’s about thinking like a user and managing browser behavior smartly.
Curious how others handle dynamic tab switching? Let’s discuss.
#Selenium#PythonAutomation#QALife#TestAutomation#SoftwareTesting#LearningInPublic#QAThoughts
Ever taken a photo of a document with your phone and needed it as a PDF afterwards?
I built a lightweight Python CLI utility to automate this repetitive task.
The tool:
- Scans an input/ folder.
- Converts supported image files into single-page PDFs.
- Preserves file names.
- Prevents accidental overwrites.
It’s a simple example of how routine image & document processing can be turned into a one-command workflow.
Technically, it’s built using Pillow, packaged with pyproject.toml, and validated via GitHub Actions.
Github:
https://lnkd.in/dc3WvndC#python#automation#opensource
Today, I learned how yield works in Pytest fixtures to handle setup and teardown in a clean and reliable way.
🔹 Code before yield → Setup
🔹 Code after yield → Teardown
🔹 Test execution happens at the yield point
📌 Why this matters
Ensures proper resource cleanup
Improves test stability
Follows best practices for real-world automation frameworks
This concept is especially useful for managing browsers, database connections, API sessions, and test environments in Python-based automation testing.
#Pytest#AutomationTesting#QAEngineer#TestAutomation#Python#AutomationFramework#ContinuousLearning
Supercharge your QA process with a robust Pytest automation framework in Python! 🚀 Whether you're aiming for seamless backend validation or advanced agentic testing, Pytest delivers speed, scalability, and reliability. With its modular design, clear reporting, and easy integration, you’ll accelerate your testing cycles and boost product quality. Ready to streamline your automation journey? Start building smarter, not harder! 💡🐍
#Python#Pytest#AutomationTesting#BackendTesting#AgenticTesting#QualityAssurance#SoftwareTesting
🤖 403s, 429s, or “verification pages” instead of data? Anti-bots are doing their job.
If your scraper keeps getting blocked, running a real browser session can make all the difference.
In our latest ZenRows guide, we walk through how to scrape with Pydoll, an async, CDP-based Python library that controls Chromium without WebDriver and helps bypass modern anti-bot checks.
Inside the blog:
🔹 What Pydoll is and why CDP beats WebDriver for stealth
🔹 How to scrape dynamic pages with async Chromium sessions
🔹 Bypassing Cloudflare-style challenges using session reuse
🔹 Real limitations of browser-based scraping at scale
🔹 When to switch to a fully managed solution like ZenRows
Perfect if you want to understand how anti-bot bypass works and when it is smarter to let infrastructure handle it for you.
👉 Read the blog: https://lnkd.in/gRF6qtvG#WebScraping#Python#Automation#AntiBot#Developers#DataEngineering#ZenRows
New Release: tcp_geo_map, Enhanced Threat Awareness: Live Outbound Traffic Mapping and C2 Indicator Correlation
A lightweight Python tool that provides real‑time geolocation of all outbound connections from your host. Watch your network traffic on a live world map, optionally resolve your public IP via ipify, and benefit from built‑in C2 indicator detection: if your machine contacts a known C2 endpoint, the UI turns red instantly.
A simple and effective way to uncover hidden outbound traffic and better understand your host’s network behavior.
Repo: https://lnkd.in/eCJWCntC
Enjoy!
DevOps Engineer
3moThese days I played with something similar, but instead of TWillio I used 3G USB modems, which you can control with AT commands and minicom, for more advanced you can use gammu. You can use them to start/stop stuff with simple phone beeps, with SMS messages you can do more advanced stuff. The entire thing doesn't need cloud or subscriptions. The only thing it needs it's some prepay SIM, which where I live is cheap.