<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9" -->

---
title: Automating Remote Systems with ngrok and Zapier | daily.dev
description: A step-by-step tutorial shows how to expose a local API to the internet using ngrok so it can be connected to Zapier, enabling automation of tasks like looking...
canonical: https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Automating Remote Systems with ngrok and Zapier | daily.dev
og:description: A step-by-step tutorial shows how to expose a local API to the internet using ngrok so it can be connected to Zapier, enabling automation of tasks like looking...
og:url: https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9
og:image: https://api.daily.dev/og/posts/izNO4BlF9.png
og:image:alt: Automating Remote Systems with ngrok and Zapier
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Automating Remote Systems with ngrok and Zapier

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 4 min read · 0 upvotes · 0 comments

## Summary

A step-by-step tutorial shows how to expose a local API to the internet using ngrok so it can be connected to Zapier, enabling automation of tasks like looking up employee badge numbers and writing results into Google Sheets. It covers installing the ngrok agent, launching a tunnel, adding HTTP Basic Authentication to secure the exposed endpoint, wiring up a Zapier template to trigger on new Google Sheets rows, and suggestions for hardening the setup with reserved subdomains and IP restrictions.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/automating-remote-systems-with-ngrok-and-zapier>

## Questions this post answers

### How do I let Zapier call an API running on my local machine that isn't publicly accessible?

Use ngrok to create a public tunnel to the local server, then register that ngrok URL as the endpoint Zapier calls. Run the app locally, launch it with a command like ngrok http 3000, copy the generated ngrok.io URL, and use it as the request URL in a Zapier webhook action with JSON payload settings.

_Developers wiring local services into iPaaS tools like Zapier can find integration patterns like this on daily.dev._

### How do I secure an ngrok tunnel before connecting it to an external automation tool like Zapier?

Add HTTP Basic Authentication to the ngrok tunnel with a command such as ngrok http 3000 --basic-auth=userId:password, then supply those credentials in the calling tool's request. Additional options include restricting access to only the automation platform's IP range and using Mutual TLS along with a reserved or permanent ngrok subdomain for stability.

_Anyone tunneling local APIs to third-party services can track ngrok security practices like these on daily.dev._

## Similar posts on daily.dev

- [How to Automate Business Tasks Without Paying for Zapier](https://daily.dev/posts/how-to-automate-business-tasks-without-paying-for-zapier-ni0wcdb3z) · Noted · 5 upvotes · 2 comments

---

Tags: [#devtools](https://daily.dev/tags/devtools), [#automation](https://daily.dev/tags/automation)

[View this post on daily.dev](https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Automating Remote Systems with ngrok and Zapier","url":"https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9"},"datePublished":"2026-08-23T07:21:41.488Z","dateModified":"2026-08-23T07:27:58.163Z","description":"A step-by-step tutorial shows how to expose a local API to the internet using ngrok so it can be connected to Zapier, enabling automation of tasks like looking...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/24b92fe2314276e9d529776914c60947?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/24b92fe2314276e9d529776914c60947?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devtools,automation","timeRequired":"PT4M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"Automating Remote Systems with ngrok and Zapier"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/automating-remote-systems-with-ngrok-and-zapier-izno4blf9#faq","mainEntity":[{"@type":"Question","name":"How do I let Zapier call an API running on my local machine that isn't publicly accessible?","acceptedAnswer":{"@type":"Answer","text":"Use ngrok to create a public tunnel to the local server, then register that ngrok URL as the endpoint Zapier calls. Run the app locally, launch it with a command like ngrok http 3000, copy the generated ngrok.io URL, and use it as the request URL in a Zapier webhook action with JSON payload settings. Developers wiring local services into iPaaS tools like Zapier can find integration patterns like this on daily.dev."}},{"@type":"Question","name":"How do I secure an ngrok tunnel before connecting it to an external automation tool like Zapier?","acceptedAnswer":{"@type":"Answer","text":"Add HTTP Basic Authentication to the ngrok tunnel with a command such as ngrok http 3000 --basic-auth=userId:password, then supply those credentials in the calling tool's request. Additional options include restricting access to only the automation platform's IP range and using Mutual TLS along with a reserved or permanent ngrok subdomain for stability. Anyone tunneling local APIs to third-party services can track ngrok security practices like these on daily.dev."}}]}
```

