Tutorial: Introduction to Programming with WayScript
Tags: tutorial, beginners, automation, python
Published: 2020-05-12 14:19:23

---
title: "Tutorial: Introduction to Programming with WayScript"
canonical_url: https://wayscript.com/learn/introduction-programming-wayscript
---
*Hi Dev Community! Below is an introductory post to help you get started with [WayScript](https://wayscript.com/). As you can see, the possibilities are endless. As a developer, if you find yourself frustrated by the restrictions with low-code platforms, we think you'll enjoy the robustness of WayScript.*

##Introduction
The challenges associated with learning any software can be daunting. At [WayScript](https://wayscript.com/), we try to make design decisions that limit these obstacles for developers and make it extremely easy to begin using the software. If you're a developer with some knowledge of python or javascript, the interactions on WayScript should almost feel instinctual.

##Some terminology
While some of the terminology from other programming languages is applied here as well, such as variables, variable types, etc. There is some unique terminology that applies directly to WayScript that will be used throughout this post.
<li>Script - Created in the WayScript editor, containing trigger(s) and module(s) which perform actions.
<li>Trigger - Refers to a code block that can be used to activate your script, found at the beginning of the script.
<li>Module - A code block containing functionality, often linked to a third party service's API.

In short, we create scripts which perform actions. These actions are executed whenever the conditional of the trigger is true, such as at a certain time of day or when X happens on a third party software. The actions that happen are created using modules and programming logic.

##Working with Triggers
Triggers are what activates actions within a script besides manually executing them. By learning how to properly use triggers, we are able to unlock some really cool automations. Here's a snapshot of the triggers we have available at the time of writing. We're always adding more, so if the trigger you need isn't currently available, please suggest it to us.

![triggers](https://cdn.wayscript.com/blog_img/88/1.png)

Each of these triggers have different activation events. Let's go through some of our user's favorites.
<li>Time Trigger - Activates your script at certain time intervals.
<li>HTTP Trigger - Activates your script whenever your URL is visited. This can be used to return HTML content too, providing you your own WayScript hosted site.
<li>Slack - Activates your script whenever conditions in a slack channel are met, such as message contents or message channel.
<li>Discord - Behaves very similarly to the slack trigger
<li>GitHub - Activates your script whenever github events happen such as pushes to a branch

Of course, there's plenty more with the triggers available, this is just a list to help you understand how triggers work. It is also important to note that multiple triggers can be placed onto one script. This may be useful if you want your script to run every hour AND when a user posts in a slack channel for example.

##Working with Packages
Packages make it easy to use third party API's in your script. These are code blocks that you can place into your script. These will execute the actions you specify whenever the script is either manually executed or a trigger activates. We have a large library of packages available and always adding more as well. Here's a snapshot of packages we have available at the time of writing:

![Packages](https://cdn.wayscript.com/blog_img/88/2.png)

These integrations should make it easy to begin automating workflows from across different softwares.

##Programming Logic - Limitless Solutions
While WayScript may seem similar to other software platforms available. The key difference is the availability to include your own programming logic into your workflow.

![logic](https://cdn.wayscript.com/blog_img/88/3.png)

##Why is this a big deal?

A common worry with software that tries to automate tasks across different third party solutions, is how limited the actions are. If you are unable to program your own tools into any software, you will eventually find restrictions no matter how robust the software is.

At [WayScript](https://wayscript.com/), we know real life problems are not needing cookie cutter solutions, but rather customized solutions that fully handle your specific problem. This is why you're able to build them yourself using fully integrated programming language modules. There are limitless possibilities on what you can build. We just try to make it easy to build them. Hopefully, this allows you to spend less time making systems work together and more time building what you need.

*Any questions or need a hand? Please take a look at our [Documentation](https://docs.wayscript.com/), comment below or join us on [Discord](https://discord.gg/nchf9E9).*