James Adams Technology Consulting is now Fulcrum Dynamic

When I started working for myself in 2013, I wanted to keep things simple.  I was one person, usually working for one client at a time, typically as a 1099 contractor.  And frankly, I wasn’t sure how long I would stick with it, or whether I would close up shop and go back to being an employee as quickly as I had begun this adventure.  So I didn’t see any compelling reason to form a legal entity for my company. Most of my sales and marketing consisted of word-of-mouth recommendations, so I wasn’t terribly concerned with branding.

I did some research and found that I could operate as a sole proprietor with an LLC or even a DBA, if I based my business name around my own name.  As long as I could keep things legal and above board, operating under my own name and avoid paperwork seemed to suit me just fine.  

Over the years, I learned a lot about the industry, about my clients, and business in general.  I got to work with some great people on some amazing projects, both large and small, and my little business has grown.  I started out mostly doing contract software development, helping clients extend the functionality of existing in house web applications.

We still do that, but we do a lot of other things now, too.  We do technical consulting and code analysis, advising clients on difficult technology decisions.  We build enterprise integration solutions, tying together modern SaaS products, legacy databases, and even industrial automation hardware, to make sure clients have the data they need when and where they need it.  We build cross-platform applications that work on the web browser, desktop, and mobile platforms. And we are even starting to work on our own products (stay tuned for more on that soon).

Not only that, where I used to be a one man operation, I now have a team supporting me, with a wide variety of skills and specialties.  So it’s not just me anymore.

The name “James Adams Technology Consulting” just didn’t fit anymore.  It was time for something different. Throughout all the various types of projects we have worked on, the common thread has been empowering our clients.  Our clients are on their own missions to change the world, and we can’t do that for them, but we can provide solutions that make them more efficient, and multiply the impact of their efforts.  As I thought about this, I became slightly obsessed with one of man’s oldest inventions: the lever. As a business owner, you provide the lever and the force applied to it, trying to move whatever heavy object is impeding your path.  But we provide a fulcrum; it’s a small and unimpressive object, but when placed properly it allows you to exert the same force as before and easily move what was once immovable.

The other thing I noticed was that being an extremely small company (even though I have a team now, it’s still a small team), we are able to move quickly, and to adapt to our clients’ needs.  We handle projects as small as troubleshooting a client’s Google API script, and as large as custom multi-platform SaaS applications. We have expertise in a wide array of technologies, and the ability to quickly acquire competence in any others.  We use Agile development methodologies that allow us to quickly adapt to changes in project requirements. We go to great lengths to be flexible and meet our clients’ needs.

So from the lever metaphor, I grabbed the word “fulcrum,” and from our trademark flexibility, I grabbed the word “dynamic,” and thus Fulcrum Dynamic was born.

We are still the same small team, committed to meeting our clients needs with well-crafted technology solutions.  You will still deal directly with the owner when planning your project, accepting delivery, discussing billing questions, and receiving follow up support, but now we’ve got a cool name and logo, which we hope better reflects our mission and our team.

As part of the re-brand, we of course have the new website fulcrumdynamic.com and the new email address listed above. Any links to the old adamsnet.info web site will redirect to the new site. Likewise, any email sent to the old adamsnet.info domain will be redirected to the new fulcrumdynamic.com domain. At some point, we may get rid of the old domain, but it will not be any time soon. Right now, the new site is mostly just a copy of the old one, with changed logos and names, but we have some improvements in the pipeline for the web site, so stay tuned for that.

If you have any questions or concerns, please reach out to me directly via phone () or email ().

Keep Track Of Your WooCommerce Orders Using Google Sheets And Zapier

WooCommerce is a WordPress extension that makes getting your online store off the ground much faster. It provides you with an eCommerce template, helps track orders, customers, and shipping, and a lot more! In this article, we’ll cover how to automatically add your WooCommerce orders to a Google Sheets spreadsheet using Zapier, which will make it even easier to keep up track of your online shop’s orders. 

What You’ll Need:

  • A WooCommerce account
  • A WordPress website
  • The WooCommerce plug-in installed on your WordPress website
  • A Google Sheets account
  • A Zapier account

Let’s get started!

Step 1: Add The Zapier Extension To Your WooCommerce Plug-In.

First things first, before you can use WooCommerce with Zapier you’ll have to download the Zapier extension for WooCommerce. Keep in mind that this is a paid plug-in, so if you don’t have it, you’ll need to purchase it in order to use Zapier with WooCommerce. 

To do this, login to your WordPress website and click Extensions from your WooCommerce tab:

On the next page, you’ll search for “Zapier,” in the search bar, and select it when it appears:

Once you select the Zapier extension, you will be redirected to this page:

Pick the subscription option that corresponds to your needs and choose BUY NOW. That will bring you to this page:

Enter your WordPress login information and Continue to the next screen. On this screen, WooCommerce is going to ask if you already have a WooCommerce account. Choose I have an existing WooCommerce.com account – unless you’ve been following this tutorial without a WooCommerce account, in which case you’ll need to make one:

Now you’ll be asked to log in to WooCommerce to complete your purchase. Enter your login information, click Connect Account, and enter your payment info on the next page to complete your purchase:

Once you’ve made your purchase, you’ll be given a license key and a downloadable zip file. We’re going to use each of these to install the Zapier extension, so copy the license key and download the zip file.

Next, find the downloaded zip file – titled woocommerce-zapier – and move it to your desktop:

Next, go back to your WordPress website, navigate to Plugins near the bottom left, and select Add New:

This will bring you to the following page:

Near the top of the page you’ll notice a button that says Upload Plugin as indicated in the image above. Press it, then click Choose File, selected the woocommerce-plugin folder on your desktop, then select Install Now:

If you uploaded the correct zip file, you should now be looking at the following page:

As indicated, select Activate Plugin:

You should now see a little notification at the top of the page letting you know that your Zapier extension has been successfully installed! You’ll also get a little pop-up over in the left pane asking if you would like to create a Zapier Feed. For every Zap you make using WooCommerce, you’re going to need one of these Feeds. So, go ahead and select Click here to create one. This will bring you here:

We’re going to leave this window open while we work on the rest of the Zapier. For now, just make sure that New Order is selected as your Trigger and give the Feed a Title that matches what we’re going to be using it for, as in the image above. We’ll come back to this page in a bit.

Now, it’s time to create your Google Sheet!

Step 2: Create Your Google Sheets Spreadsheet For WooCommerce Orders

Now we’re going to create the spreadsheet where your WooCommerce orders are going to appear. For this example, all of your orders are going to appear in Column 1.

Your rows will be added from top to bottom, so the oldest orders will be at the top of the spreadsheet, while the newest are at the bottom. If you have an existing Google spreadsheet that you’d like to use, feel free to use it, or create a new one just for this Zap. Your spreadsheet should look something like this:

As you can see, in our example we added a title in the first row, just to keep things looking nice. You’ll also notice that we stretched out the first column to be a little wider. This is so that the WooCommerce orders that get copied into the first column rows are completely visible.

Once you have your spreadsheet created, you’re ready to make your Zap!

Step 3: Create Your Zap

Now that we have all of the groundwork in place, we’re ready to start making our Zap! Log in to your Zapier account and go to your dashboard. You should be looking at the following screen:

In that top box, What Do You Want to Automate Today?, we’re going to create the skeleton for our Zap. In the first field, Connect this app…, type in “WooCommerce,” and select it when it appears – like in the screenshot above. Similarly, in the second box – with this app! – search Google Sheets and select it as well.

Once you have each selected, click the Make a Zap! button.

Step 4: Create Your WooCommerce Trigger

After you press the Make a Zap! button, you’ll be faced with the following screen:

This is where you’re going to choose your Zap’s Trigger. The “Trigger,” is what tells your Zap when to run. Every time your Trigger occurs, your Zap will fire into action. In our case, we want our Zap to run every time we get a new order in WooCommerce. So, choose New Order from the options, and Continue.

Next, Zapier will ask you to connect your WooCommerce plug-in to Zapier. Remember our Zapier Feed page that we left open in WordPress? This is where it comes into play. You should be looking at the following screen in Zapier:

Click the Copy button to the write of the url, known as your Webhook URL. This url is what’s going to connect this Zap to our WooCommerce account. Now go back to the Zapier Feed page we left open from earlier, and paste your Webhook into the Webhook URL field. Once you’ve done that, go back to Zapier and click Ok, I did this at the bottom of the page.

Now Zapier is going to ask you to pull in a sample from WooCommerce to use with this Zap. This sample will either be from an existing order on your WooCommerce account or a randomly generated one by Zapier. 

We’re going to use a randomly generated one, though you’re free to use an existing one if you like. Once you’ve got your sample, you’re ready to move on to the next step!

Step 5: Create Your Google Sheets Action

After you finish creating your Zap’s Trigger, you’re going to be faced with the following screen:

This is the section we’re actually going to decide what our Zap does once it’s running. In our case, that’s going to be copying our latest WooCommerce order over to our Google Sheets spreadsheet that we created in Step 2. You should see Google Sheets listed first – since that’s we chose in Step 3 – but if you don’t, you can easily search for it in the search field at the top. Once you have it selected, Continue.

On the next screen, you’re going to pick your Google Sheets action. In our case, that’s going to be Create Spreadsheet Row:

Once you have that selected, Continue.

Now you’re going to connect your Google account to Zapier. If you’ve already done this before, you’ll just choose your Google account and hit Continue, like below:

Otherwise, you’ll choose Connect an Account and follow the on-screen prompts.

You should now be looking at the following screen:

This is your Action template. This is where we’re going to specify exactly what we want Zapier to do when this Zap runs. You’ll notice that be each field is a little dropdown arrow. This dropdown arrow provides you with information from your Google Sheets account, your WooCommerce account, and other data that you’ve used previously in this Zap – like the sample we generated in Step 4. This allows you to customize your Zap and set it up exactly how you like.

In the first field, you’re going to select the Google Drive you want to use with this Zap. This is optional, so you only need to fill it in if you have more than one Google Drive on your Google account.

In the second field, Spreadsheet, you’re going to pick the spreadsheet we created in Step 2 from the dropdown menu:

The third field is where you’ll choose the Sheet of your spreadsheet that is used. For most people – including those who created their spreadsheet while reading this tutorial – you’re just going to choose Sheet1 from the dropdown menu.

The fourth and last field is where you get to exercise some creativity. This is where you’ll decide what gets copied into your spreadsheet every time you get a new WooCommerce order. If you just type in, “New order,” Zapier is just going to copy “New Order,” into your spreadsheet for every order you get – not very useful.

Instead, we’re going to use variables. Variables allow you to fill in the field with information that will change depending on the order. For example, if Ted orders something through your website, the First Name variable will say, “Ted”. Pretty simple!

You can fill in this field to contain whatever you need; if all you need is the order number from each of your orders, then you can choose that variable and leave the rest of the field blank. We’re going to take a slightly more filled-out approach, though, just to give you a feel for how it works.

The first thing we want to know is the customer’s name. In the fourth field, type, “Customer: “. Include the space after the “:”, in order to make things easy to read. Then, from the dropdown menu, choose the variables for your customer’s first and last names (they’ll be the name from the sample we created in Step 4, and won’t actually be used when the Zap runs for real). Be sure to but a space between the two variable bubbles so that they don’t run together. 

It should look something like this:

Next, we’re going to include the order number. On a new line (in the same field) type, “Order #: “ and follow it with the order number variable in the dropdown menu. After that, on another line, type, “Amount Paid: “. This is where we’re going to put the subtotal – not the total. We also recommend including the currency variable just before the subtotal variable, just so you always know what currency the customer used.

Your finished template should look something like this:

Once you’re happy with it, you’re ready to Continue to the last step.

Step 6: Test Your Zap

Typically, we recommend skipping the testing portion of creating your Zap, just because most Zaps are so simple that it’s not really necessary. In this case, though, you want to make sure that the formatting is correct, otherwise, you’ll have a hard time understanding your spreadsheet later on.

After finishing the last step, you should see the following:

As indicated with red in the above screenshot, go ahead and Send Test To Google Sheets. This will send the sample template we just created to your WooCommerce spreadsheet in Google Sheets:

Pretty quickly, you can see that there is already a problem with our example. The new row we just created is using the same format as our title cell! This is because each new row created by Zapier will copy the format of the row directly above it. This means that so long as we fix our sample row, the rest will be formatted correctly. 

To do this, we’re going to use the Format Painter tool. Select a blank cell in the first column, and choose the Format Painter tool at the top of the page:

Once you’ve done this, just click the second row containing our sample WooCommerce order. This will correct it to the format we intended, like so:

From now on, all future cells will be formatted like this. Make sure that you didn’t forget any spaces, and that you’re happy with the information in your cell.

Once you’re happy, you can go back to Zapier and Continue to the final step – turning your Zap on!

On the next screen, all that’s left to do is name your Zap and turn it on:

Keep in mind that once you turn this Zap on, it’s going to add a new row to your spreadsheet every time you get a new WooCommerce order unless you turn it off. 


Here’s a quick recap of everything we did:

  • Added the Zapier plugin to WooCommerce
  • Created a spreadsheet in Google Sheets for our WooCommerce orders
  • Set our Zap to run every time we get a new WooCommerce order
  • Set our Zap to copy pertinent information from our new WooCommerce orders to our Google Sheets spreadsheet
  • Made sure that the formatting of our orders is correct
  • Then we turned our Zap on!

From here on out, you’re going to be able to keep track of your WooCommerce orders in a simple and easy to read format that only includes the information you care most about. You can use this simply to stay on top of your WooCommerce orders, or use it to share your WooCommerce orders with your team, integrate this spreadsheet with other Zaps, and so on.

This is only a sample of what can be accomplished through Zapier. Don’t hesitate to explore what else the service has to offer, and get creative with your automations!

How To Convert HubSpot Tasks Into Trello Cards For Your Team Using Zapier

Trello is an amazing resource for keeping your team’s assignments and tasks organized and readily accessible. Everyone on your team can view everything easily and keep up with their part, keeping all of the different assignments throughout your team centralized. In this article, we’ll cover how to automatically add your HubSpot tasks to your Trello board, further centralizing your team’s assignments while also saving yourself time and mistakes.

Continue reading

How to Use Zapier To Convert Your MailChimp Subscribers Into Salesforce Leads

A mailing list a great way to engage with potential clients and customers. However, companies are often left with a vague idea of who their subscribers actually are and how best to engage with them. In this article, we’ll explain how to connect MailChimp to Salesforce – a service for managing sales leads – through Zapier, making your mailing list and list of prospective leads each more effective.

Continue reading

How To Keep Track Of New MailChimp Subscribers And Send Them A Free Digital Item Using Zapier And Dropbox

Having an active newsletter is one of the best ways to make sure your customers are engaged with your service. However, incentivizing people to sign up to for an email subscription, keeping track of your subscription rate, and even setting up a sign up form for your site may be a little foreign to you. In this article, we’re going to cover how to do all of these automatically using Zapier and MailChimp.

For this, you’re going to need a MailChimp and a Zapier account. Both are free and easy to join. You’ll also need to be at least a little familiar with your site and how to embed things in it. To incentivize people to sign up for your email list, we suggest giving away a digital good for free. This can be a PDF, video, software sample, discount code, etc. The item will be different depending on what kind of service you are trying to promote. To be able to share the file, you need to have it uploaded online somewhere that allows you to share the file using a link. If you don’t already have the file uploaded somewhere, Dropbox is another simple and free solution that will allow you to upload the file and share it through a link.

Now that that’s out of the way, let’s get into it!

Continue reading

The Law of Inertia

I have been thinking a bit lately about the concept of inertia. “A body at rest tends to stay at rest, while a body in motion tends to stay in motion, unless acted upon by another force” or something very close to that. One specific application of this law is that it takes much more force to start something moving, or move it in the opposite direction, than it does to keep it moving the same direction it is already traveling. Of course, the law of inertia speaks to Physics, but it has applications in business and in life.

Recently I’ve observed this phenomenon specifically with New Years resolutions. I know a great deal has already been said about New Year’s resolutions, everything there is to say, one might think. It’s an arbitrary day, just like any other. Everyone breaks their resolutions within the first month, and often end up worse than they started because they’re depressed about their failures. Peoples’ resolutions are shallow and selfish. You get the idea. But you know what? I’m going to take a crack at it anyway.

Continue reading

Project Profile: Toggl Invoice

Toggl is a fantastic, simple time tracking application. It allows the user to start and stop a timer, add a note, and attach it to clients and projects, and generate reports. However, the report generated by Toggl was not quite sufficient to use as an invoice. So we decided to write a script that would parse our Toggl reports and generate nicely formatted invoices in HTML and PDF formats.

We were quite pleased with the results and decided to release them to the open source community, on GitHub.

Later, we added additional features, including exporting directly from the Toggl API, rather than from a flat file, as well as the ability to export time entries from Toggl to Freshbooks time tracking.

For this project we used Ruby to write the script, and took advantage of some great Ruby gems to generate PDFs, parse HTML templates, parse CSV, and handle YML config files.

Kashoo PHP GitHub page

Project Profile: Kashoo PHP

Our client had an extensive custom internal back office application written on the LAMP stack which needed to be integrated with Kashoo Simple Cloud Accounting. We built a wrapper library in PHP to interface with Kashoo’s REST API, and allow easy integration with their existing tool set.

The client graciously allowed us to release the library to the community as an open soruce project, on GitHub.


Project Profile: FaithVillage

FaithVillage is a faith-based social network and syndicated content delivery application.  We worked on numerous aspects of the application, from integrating a customized Magento store, to overhauling the messaging and notification systems, the URL routing system, the user authentication system, and building a new calendar system with support for invites and scheduling.  On this project, I worked with: PHP, MySQL, JavaScript, Zend Framework (full stack MVC), Doctrine ORM, MooTools, jQuery, Magento, git, GitHub, among others.

Vendor Invoice Portal

Project Profile: Vendor Invoice Portal

We created this small web app for a client.  They needed a solution to allow their vendors and contractors to submit and manage invoices.  The application provided a web interface for third party vendors to access, as well as a FileMaker interface for back office access, all backed by a MySQL database.

For this project, we used PHP, MySQL, Symfony, JavaScript, jQuery, Twitter Bootstrap, and FileMaker Pro.