Pindah dari Pipedream
Diperbarui 20 Oktober 2026
Pipedream Workflows berhenti beroperasi pada 31 Maret 2027, dan setiap URL …m.pipedream.net ikut berhenti. Jika workflow Anda dimulai dari webhook, jadwal, atau email, AnyHook memberi masing-masing URL yang tetap milik Anda dan menjalankan langkah kode Node.js Anda, sebagian besar tanpa diubah. Anda mengganti URL di setiap provider satu kali, dan setiap workflow menjadi file JavaScript biasa yang bisa Anda baca, simpan di git, dan bawa ke mana pun.
Apa yang dihentikan Pipedream
- Workflows dan String berhenti pada 31 Maret 2027. Pipedream tidak lagi menerima pendaftaran atau langganan baru.
- Semua data Workflows dihapus paling lambat 30 April 2027, termasuk kredensial dan token OAuth dari akun yang terhubung.
- Pipedream Connect, yaitu API, server MCP, dan proxy API-nya, tetap berjalan.
- Alat ekspor mengunduh struktur workflow Anda sebagai JSON, satu project setiap kali.
- requestbin.com kini dialihkan ke halaman beranda Pipedream.
Sumber: pengumuman Pipedream.
Apa yang pindah ke AnyHook
Di Pipedream
Di AnyHook
- Trigger HTTP
- URL sebuah App (satu URL masuk untuk satu sumber webhook), in.anyhook.net/you/app. URL ini menjawab pengirim dalam sekitar satu detik, menyimpan setiap event, dan mencoba ulang pengiriman yang gagal setelah 5 mnt, 30 mnt, 3 j, dan 18 j di Pro (total 5 upaya); Free berhenti di 3 upaya dan Scale berlanjut setiap hari hingga 10. Mengganti nama App tidak mengubahnya.
- Langkah kode Node.js
- Kode milik App, dijalankan di sandbox pada setiap event. defineComponent, $.export, dan $.flow.exit berjalan tanpa diubah, dan steps.trigger.event membawa body dan headers dari permintaan. Package npm yang diimpornya dipasang saat Anda menyimpannya, termasuk versi yang dikunci seperti "axios@1.7.9".
- Action siap pakai
- Template di editor kode: Slack message, Discord message, Telegram message, Email through Resend, Google Sheets row, Airtable record, Notion page, Ask Claude, Any HTTP API. Masing-masing hanya beberapa baris yang bisa Anda baca dan ubah. Template melempar error saat sebuah panggilan gagal, sehingga AnyHook mencoba ulang event-nya, dan template email memakai event sebagai kunci setiap pengiriman, sehingga percobaan ulang (retry) di hari yang sama tidak mengirim email dua kali.
- Trigger jadwal
- Cron pada kode yang sama, dalam UTC atau zona waktu apa pun, di App tersendiri dengan sumber generic atau auto, tanpa signing secret. Setiap pemicuan tiba sebagai event anyhook.schedule, dihitung sebagai satu eksekusi sekaligus satu event, dan hanya terjadi selama kodenya aktif.
- Trigger email
- Setiap App punya alamat, you.app@anyhook.net. Email tiba sebagai event email.received berisi pengirim, subjek, dan pesan MIME mentah, yang di-parse oleh kode Anda. Sumber App harus generic atau auto, tanpa signing secret, dan email yang lebih besar dari batas payload paket (512 KB di Free, 2 MB di Pro, 4 MB di Scale), termasuk lampiran, akan di-bounce.
- Environment variable dan props
- Secret, dibaca sebagai env.NAME, atau process.env.NAME di dalam langkah. Props sebuah langkah membacanya tanpa diubah: this.channelId adalah secret CHANNEL_ID.
- Akun yang terhubung
- this.slack.$auth.oauth_access_token membaca secret SLACK_OAUTH_ACCESS_TOKEN: tambahkan token-nya dan langkah itu berjalan tanpa diubah. Tidak ada yang memperbaruinya, dan $auth tidak pernah membaca store, jadi token yang kedaluwarsa (token Google berlaku satu jam) butuh kode yang mengambil token baru dengan refresh token yang disimpan sebagai secret, lalu menyimpan yang terbaru di store.
- Data store
- Store milik App. Setiap prop data_store di sebuah langkah adalah store yang satu itu, dengan get, set (dengan TTL dalam detik), has, delete, keys, entries, dan clear; kode biasa mendapatkannya sebagai store. Store ini menampung hingga 1.000 key, setiap nilai maksimal 64.000 byte sebagai JSON, dan store Pipedream yang dipakai bersama oleh beberapa workflow menjadi store terpisah di setiap App. Ekspor Pipedream tidak menyertakan data store, jadi buat impornya sendiri: satu POST {"entries": {key: value}} ke /api/v1/apps/{slug}/store, yang mengisi key tanpa TTL-nya.
- Riwayat event dan putar ulang (replay)
- Log event: setiap event beserta setiap upaya pengirimannya, log kode sebagai responsnya, dan tombol Replay, selama 3 hari di Free dan 30 di Pro. Setelah itu Pro menyimpan apa yang diterima, hanya-baca, selama 1 tahun.
Yang tidak ikut pindah
AnyHook menjalankan kode Anda saat ada event. AnyHook bukan workflow builder, jadi bagian berikut perlu ditulis ulang atau pindah ke tempat lain:
- Langkah Python, Go, dan Bash. Belum didukung.
- require(). Kodenya berupa ES module, jadi langkah yang memuat package dengan require diubah menjadi import.
- Field trigger selain body dan header. AnyHook tidak menyimpan query string, path, atau IP pemanggil, method-nya selalu POST, dan jadwal atau email tiba sebagai body milik AnyHook sendiri, jadi langkah yang membaca steps.trigger.event.query, path, url, atau client_ip, atau field trigger dari jadwal atau email, perlu mengubah baris-baris tersebut.
- $.send, $.flow.delay, $.flow.rerun, $.flow.suspend, dan $.context. Dari $, sebuah langkah punya $.export dan $.flow.exit.
- setTtl dan loop for await pada data store. Atur TTL dengan set, dan baca semuanya dengan keys atau entries.
- Trigger HTTP yang dipanggil dengan GET atau method apa pun selain POST: URL-nya menolaknya, kecuali GET verifikasi dari Meta.
- $.respond(). AnyHook menjawab pengirim sendiri, jadi workflow yang harus mengirim respons HTTP-nya sendiri, misalnya slash command Slack, butuh server yang menjawab tepat waktu. Handshake verifikasi Meta dijawab untuk Anda.
- Trigger yang melakukan polling ke sebuah aplikasi, misalnya baris baru di Google Sheet.
Untuk semua itu, n8n, Make, dan Zapier punya integrasinya. URL AnyHook tetap bisa dipasang di depan URL webhook mereka, jadi perpindahan berikutnya pun berupa penggantian tujuan.
Perpindahan, satu per satu workflow
- Buat App dan tambahkan endpoint Pipedream Anda sebagai tujuannya. Belum ada yang berubah: Pipedream masih menjalankan workflow, dan AnyHook menyimpan setiap event yang lewat. Ada satu perbedaan mulai langkah 2: AnyHook meneruskan setiap permintaan sebagai POST berisi header dan body-nya, tanpa query string, path setelah App, atau IP pemanggil, jadi workflow yang membacanya tidak akan menemukannya.
- Di setiap provider, ganti URL Pipedream dengan URL App. Itu terakhir kalinya Anda mengubahnya di sana.
- Masukkan workflow ke tab Code milik App dan tambahkan secret-nya. Langkah kode cukup ditempel dengan perubahan yang tercantum di atas, action siap pakai dimulai dari template, dan beberapa langkah digabung menjadi satu fungsi secara berurutan, bagian yang layak diserahkan ke agen. Editor menyimpan kode baru dalam keadaan nonaktif; lewat API atau MCP, kirim "enabled": false, karena penyimpanan pertama tanpanya langsung aktif. Jalankan pada event tersimpan terbaru dan baca log-nya. Uji coba menjalankan apa pun yang dilakukan kodenya, jadi arahkan dulu ke channel atau tabel tes jika kode itu menulis ke suatu tempat.
- Hapus tujuan Pipedream, lalu aktifkan kodenya. Setiap perubahan butuh waktu hingga satu menit untuk sampai ke setiap lokasi edge, jadi event di antaranya masih bisa terkirim ke Pipedream, atau tercatat tanpa tujuan; putar ulang event yang tercatat itu setelah kode aktif, dan kode akan menjalankannya.
- Ulangi sebelum 31 Maret 2027. Pindah lagi nanti, ke n8n atau server Anda sendiri, berarti mengganti tujuan; provider tetap memakai URL yang sama.
Dengan agen
Ekspor Pipedream (Settings sebuah project, lalu Export Workflows) berupa ZIP berisi trigger setiap workflow, kode dari langkah kodenya, dan pengaturan action siap pakainya. Kredensial dan environment variable tidak disertakan, dan nilai prop secret terbaca <redacted>; semuanya menjadi secret yang Anda tambahkan. Itu cukup bagi agen untuk menulis ulang. Hubungkan Claude Code, Codex, atau agen lain ke server MCP AnyHook, https://anyhook.net/mcp, ekstrak hasil ekspor di tempat yang bisa dibacanya, lalu tempel ini:
Pindahkan workflow Pipedream saya ke AnyHook. Hasil ekspor yang sudah diekstrak ada di ./pipedream-export. Untuk setiap workflow dengan trigger HTTP, jadwal, atau email: 1. Gunakan App AnyHook yang sudah meneruskan URL workflow ini ke Pipedream; buat baru hanya jika belum ada, dengan source generic untuk trigger jadwal atau email. Trigger jadwal mempertahankan cron-nya sebagai jadwal kode. 2. Tulis langkah-langkahnya sebagai satu handler kode, sesuai urutan. Langkah kode berjalan tanpa diubah, kecuali yang tercantum di https://anyhook.net/id/migrate/pipedream pada bagian "Yang tidak ikut pindah". Tulis ulang setiap action siap pakai sebagai panggilan ke API layanan tersebut, dimulai dari https://anyhook.net/code-templates.md, dan lempar error saat panggilan gagal. 3. Deploy dengan enabled: false dan tanpa nilai secret. Sebutkan secret yang dibutuhkan dan dari mana saya mendapatkan masing-masing. 4. Uji dengan event contoh dan tunjukkan hasilnya kepada saya. Jangan ubah apa pun di Pipedream. Saya yang menambahkan secret, menghapus tujuan Pipedream, lalu mengaktifkan kodenya.
Agen bekerja lewat anyhook_apps_create, anyhook_code_deploy, dan anyhook_code_test, dan memulai setiap action dari template yang sama dengan editor, code-templates.md. Agen men-deploy setiap handler dalam keadaan nonaktif; Anda menambahkan secret, menghapus tujuan Pipedream, dan mengaktifkan kodenya. Penyimpanan yang memasang package baru bisa butuh beberapa menit. Agen yang menjalankan package npm dengan kunci API, seperti Cursor, Windsurf, dan Claude Desktop, butuh anyhook-mcp 0.4.0 atau yang lebih baru untuk tool ini, yang diambil oleh npx -y. Menghubungkan agen.
Biayanya
- Free, $0: 1 App, 10.000 event per bulan, tanpa kode. Cukup untuk memasang satu URL di depan Pipedream atau n8n.
- Pro, $20/bulan: 10 App, 50.000 event, 3.000 eksekusi kode, masing-masing hingga 105 detik.
- Scale, $90/bulan: 50 App, 250.000 event, 12.000 eksekusi kode, masing-masing hingga 285 detik.
Satu App adalah satu URL beserta kodenya, jadi 10 workflow dengan trigger HTTP muat di jatah App paket Pro. Eksekusi punya batas tersendiri: satu percobaan ulang, satu uji coba, satu putar ulang, dan satu pemicuan jadwal masing-masing dihitung satu, dan jadwal setiap 15 menit berjalan sekitar 2.880 kali per bulan. Tidak ada kelebihan pemakaian untuk eksekusi: setelah jatah eksekusi bulan itu habis, pengiriman ke kode ditolak dan ditahan, tidak dicoba ulang, dan Anda memutarnya ulang setelah bulan berganti atau paket ditingkatkan. Dokumentasi mencantumkan batas handler lainnya. Harga.
Pertanyaan
- Kapan Pipedream Workflows berhenti beroperasi?
- Pada 31 Maret 2027. Pipedream menghapus semua data Workflows paling lambat 30 April 2027, termasuk kredensial dan token OAuth dari akun yang terhubung. Pipedream Connect tidak terdampak.
- Apakah URL webhook *.m.pipedream.net saya tetap berfungsi?
- Sampai 31 Maret 2027. Arahkan setiap provider ke URL AnyHook sekarang, teruskan ke endpoint Pipedream Anda sampai kodenya selesai dipindah, dan provider tidak akan pernah butuh URL baru lagi.
- Apakah langkah kode Node.js saya akan berjalan di AnyHook?
- Di Pro dan Scale, sebagian besar tanpa diubah: defineComponent, $.export, $.flow.exit, props, dan data store berfungsi, package npm yang diimpor sebuah langkah dipasang saat Anda menyimpannya, dan $auth dari akun yang terhubung membaca secret yang Anda tambahkan. steps.trigger.event membawa body dan header permintaan, jadi langkah yang membaca query string, path, url, atau client_ip, atau field trigger dari jadwal atau email, perlu mengubah baris-baris tersebut. Langkah Python, Go, dan Bash, require(), $.respond, $.send, $.flow.delay, dan $.flow.rerun perlu ditulis ulang.
- Bagaimana dengan action siap pakai seperti "Slack: send a message"?
- Action itu menjadi beberapa baris kode yang bisa Anda baca dan ubah. Editor kode punya template untuk ini: Slack message, Discord message, Telegram message, Email through Resend, Google Sheets row, Airtable record, Notion page, Ask Claude, Any HTTP API. Agen bisa menulis ulang sisanya dari ekspor Pipedream Anda, yang mencantumkan setiap action beserta pengaturannya.
- Apakah kode saya terikat pada AnyHook?
- Tidak. Handler adalah fungsi JavaScript yang menerima event dan secret Anda. Salin dari editor atau baca lewat API, simpan di git, dan panggil dari server Anda sendiri jika Anda pindah.
- Bisakah saya memindahkan workflow ke n8n, Make, atau Zapier saja?
- Bisa. Pasang URL AnyHook di depan URL webhook mereka: Anda tetap punya log setiap event beserta percobaan ulangnya, dan pindah lagi nanti berarti mengganti tujuan, bukan memasang URL baru di setiap provider. AnyHook meneruskan setiap permintaan sebagai POST berisi header dan body-nya, jadi workflow di sana yang membaca query string tidak akan menemukannya.