Integrasi Google Sheets ke Lark Base Gratis via Make.com

Make.com : Cara Integrasi Google Sheets ke Lark base atau Feishu Base 100% GRATIS

Step-by-step cara integrasi google sheets ke Lark base dengan mudah

tingkat : MAHIR

make.com bagaimana cara upload data dari google sheets ke lark base gratis

Tujuan dari Integrasi

Bagi kalian yang bekerja di BUMC dan memakai Lark atau Feishu, pasti ada saatnya dimana suatu bisnis unit yang memakai google sheets ingin mengupload datanya ke Lark base atau feishu base. Ini adalah hal yang saya alami sendiri, dan saya menemukan caranya secara gratis! hehe… mari kita masuk ke cara integrasi google sheets ke Lark base.

💡Note : sebisa mungkin saya buat step-by-step yang mudah diikuti agar pembaca yang non-teknikal tetap bisa setup-nya.

Membuat Lark Apps

Berikut adalah langkah-langkah setup yang harus kita atur di bagian Lark base

  1. Pertama kita create app dulu di Lark base, silahkan buka link open.larksuite.com atau open.feishu.cn, dua link tersebut adalah sama, karena basis antara lark dan feishu adalah sama.
  1. Klik tombol Developer Console lalu klik create custom app
Developer Console Lark Feishu
  1. Pada panel kiri Credential & Basic Info, kalian bisa melihat App ID, dan App Secret silahkan disimpan dan dirahasiakan. Lalu buat lah nama untuk app tersebut, disini saya namakan Lark-Feishu automation connector
Lark Credential App Name ID and Secret
  1. Pada panel kiri Permission & Scopes, klik Add permission scopes to App, hal ini bertujuan untuk memberikan akses apa saja yang app ini boleh lakukan. Silahkan centang semua yang ada di Tenant token scope > Base, agar aman. Untuk yang sudah lebih paham bisa memilih-milih ya. Lalu klik Add Scopes untuk mengkonfirmasi.
Lark App Permission and Scopes
  1. Pada panel kiri add Features, lalu klik Add Bot, ini akan membuat bot pada app anda, yang bertujuan agar bot ini membantu kita menginput data nantinya, penjelasan lebih lanjut dibahas di segmen setup di Lark Base.
Lark App Features Add Bot
  1. Pada panel kiri klik Version Management & Release, setelah langkah-langkah diatas dilakukan semua, seharusnya versi yang sudah ter-rilis adalah 1.0.1, jangan lupa di rilis ya, dan pastikan terdapat tanda enabled pada samping nama app kalian & centang hijau The current changes have been published, menandakan app sudah siap untuk automasi
Lark App Version Management

Pastikan juga kalian sudah mempunyai ijin atau akses dari tim IT ya.

Setup di Lark Base atau Feishu Base

Setelah pengaturan Lark Apps selesai, maka kita masuk ke bagian pengaturan di Lark Base. Berikut adalah detil cara pengaturannya

Lark Base add Bot
  1. Buatlah table di Lark base, dan pastikan semua header kolomnya benar
  2. Pada halaman table lark base, lihat URL-nya
    jetcargo.feishu.cn/base/VLYVbNyH1aqxxxxxxxxxxxxnkh?table=tblxxxxxxxxxxxcWouE&view=vewwTdUHD2
    App token : VLYVbNyH1aqxxxxxxxxxxxxnkh
    Table id : tblxxxxxxxxxxxcWouE
    Catat app token dan table id di notepad kalian, karena nanti akan dibutuhkan.
  3. Sama seperti kita sharing lark base ke rekan kerja kita untuk akses edit agar mereka bisa menginput data. Dengan logika yang sama maka kita add Lark-Feishu automation connector bot ke table base ini agar bisa menambahkan data.
  4. Ikuti gambar diatas dengan klik
    ... (tiga titik) di pojok kanan atas > more > Add Applications > cari nama app kalian
    disini saya ketik nama apps saya yaitu Lark-Feishu automation connector. lalu berikan edit akses

Setelah selesai kita akan lanjut pengaturan di make.com

Setup di Make.com

Make.com Cara Integrasi Google Sheets ke Lark Base

Sekarang mari kita masuk ke langkah pengaturan di make.com, module yang harus dipasang adalah seperti gambar diatas, lalu dibawah ini adalah pengaturan di tiap module.

> 1. GOOGLE SHEETS: SEARCH ROWS Module

Module pertama, tambahkan module Google Sheets: Search Rows Module. Tujuan dari module ini adalah untuk mendapatkan data dari Google Sheets

  1. Atur koneksi kita ke google sheets, lalu atur nama sheet yang dituju
  2. Table contains headers: Yes
  3. Column range: atur sesuai banyaknya kolom di data kalian
  4. Filter: kolom apapun, Basic operators: Exists
  5. Limit: saya memakai 1500. Angka ini kalian atur sendiri sesuai perkiraan banyaknya data yang akan di upload ke base, dan pastikan kelipatan 500, karena API Lark base mampu untuk mengupload data per 500 data.

> 2. ARRAY AGGREGATOR Module

Module kedua, tambahkan module Array Aggregator Module. Tujuan dari module ini adalah untuk membuat batch upload, dimana tiap batch berisikan 500 data.

Karena jika berdasarkan dokumentasi API Lark Base Create Records Batch Create, Lark base mampu untuk mengupload 500 data dalam satu kali upload, maka kita membutuhkan module ini. Berikut langkah pengaturannya

  1. Atur koneksi kita ke google sheets, lalu atur nama sheet yang dituju
  2. Table contains headers: Yes
  3. Column range: atur sesuai banyaknya kolom di data kalian dari module 1.
  4. Group by: {{ceil(1.__IMTINDEX__ / 500)}} or {{ceil( 1.Bundle order position / 500)}} masukkan rumus ini, agar bisa membuat batch per 500 data.
  5. Stop processing after empty aggregation : Yes

> 3. ITERATOR Module

Module ketiga, tambahkan module Iterator Module. Tujuan dari module ini adalah untuk membantu module selanjutnya, dengan memecah tiap data dari tiap batch agar bisa mengikuti format JSON yang sudah ditetapkan API.

  1. Array: masukkan array dari module no 2
  2. Jangan lupa hidupkan toggle map

> 4. TOOLS: TEXT AGGREGATOR Module

Module keempat, tambahkan module Text Aggregator Module. Tujuan dari module ini adalah untuk menggabungkan kembali tetapi dengan mengkondisikan tiap elemen data sudah mengikuti dokumentasi JSON untuk Lark base dengan format yang sudah ditentukan.

  1. Separator: ketik , (koma)
  2. Group by: biarkan kosong
  3. Stop processing after an empty aggregation: yes
  4. Text: pastikan menyesuaikan format data seperti dibawah ini
// ini format yang diharapkan

{
    "fields": {
        "Nama Kolom Di Lark 1": "{{1.Nama}}",
        "Nama Kolom Di Lark 2": "{{1.Email}}",
        "Nama Kolom Di Lark 3": "{{1.No_HP}}"
    }
}

// ini adalah format data yang saya butuhkan, bisa berbeda tergantung kebutuhan kalian
// kita perlu parseNumber(formatDate()) karena lark base hanya menerima data beruba Unix timestamp dalam milliseconds (contoh: 1716163200000)
// kita perlu parseNumber(amount()) karena lark base hanya menerima angka value saja.
// data yang berupa text HARUS terdapat tanda petik " "
// data yang berupa angka/tanggal TIDAK PERLU terdapat tanda " "
{
  "fields": {
    "Date": {{parseNumber(formatDate(15.Date; "x"))}},
    "Daily Type": "{{15.Daily Type}}",
    "Bill To": "{{15.Bill To}}",
    "Project Name": "{{15.Project Name}}",
    "COA": "{{15.COA}}",
    "Trx Type": "{{15.Trx Type}}",
    "amount": {{parseNumber(15.amount)}}
  }
}

> 5. HTTP MAKE A REQUEST #1 module: Untuk membuka “Gerbang”

Module kelima, tambahkan module HTTP Make a Request Module. Karena berdasarkan dokumentasi Lark, Lark membutuhkan otorisasi berkala (temporary authorization window), maka module ini akan membuat live token untuk membuka “gerbang”-nya.

Make.com HTTP module 1 setup
  1. Authentication type: No authentication
  2. URL: https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
    mengikuti dokumentasi lark
  3. Method: POST
  4. Mengikuti dokumentasi lark, kalian harus benar-benar mengikuti penulisan ini ya.
    Header 1: Content-Type
    Value: application/json; charset=utf-8
  5. Body content type: application/json
  6. Body input method: JSON string
  7. Body content: isi dengan app_id dan app_secret yang kita dapat di bagian membuat lark apps, dengan format seperti dibawah ini
{
  "app_id": "cli_xxxxxxxa1xxxx",
  "app_secret": "TsrbxxxxxxxxxxxxxxxxxxvMfYN"
}
  1. Parse response: Yes
  2. klik Save

> 6. HTTP MAKE A REQUEST #2 module: untuk mengupload data

Module keenam, tambahkan module HTTP Make a Request Module. Module inilah yang akan mengupload data dari google sheets ke dalam Lark base. Silahkan baca lebih detil dokumentasi lark create record untuk batch create

Make.com HTTP module 2 setup
  1. Authentication type: No authentication
  2. URL: https://open.feishu.cn/open-apis/bitable/v1/apps/:app_token/tables/:table_id/records/batch_create
    mengikuti dokumentasi Lark
  3. Method: POST
  4. Mengikuti dokumentasi lark, kalian harus benar-benar mengikuti penulisan ini ya.
    Header 1: Authorization
    Value: Bearer tenant_access_token
    HARUS mengetik “Bearer ” dengan 1 spasi! lalu tenant_access_token ambil dari module HTTP #1

    Header 2: Content-Type
    Value: application/json; charset=utf-8
  5. Body content type: custom
  6. Content Type Value: application/json; charset=utf-8
  7. Body content: ikuti dengan format seperti dibawah ini
{
  "records": [
    {{13.text}}
  ]
}
  1. Parse response: No
  2. klik Save

Finalisasi

Akhirnya, jika semua sudah selesai kita bisa membuat automasi ini dijalankan secara berkala di make.com, dalam hal ini saya menjalankan automasi ini setiap hari kerja (Senin – Jumat) jam 18:30 WIB.

Selamat mencoba

💡 Susah? atau proyek anda lebih kompleks?

FAQ – Pertanyaan yang sering ditanyakan

Mengapa kita membutuhkan automasi upload google sheets ke lark base?

Buat rekan kerja data analyst, developer, operation manager, automation engineer yang menggunakan Lark Suite sebagai platform kolaborasi di perusahaan, pasti akan membutuhkan automasi antar aplikasi, seperti saya yang dari google sheets ke lark base, ini memudahkan kita untuk memangkas langkah yang repetitif sehingga pekerjaan lebih efektif

Mengapa kita membutuhkan add bot atau app ke Lark base sebagai editor?

Karena walaupun Lark apps yang sudah kita buat mempunyai global permission untuk read/write Bitables, Lark memberlakukan tiap Base layaknya seperti private document. Sehingga custom app yang kita buat tidak punya akses ke base sampai kalian sendiri yang menambahkannya sebagai kolaborator.

Bukankah di Make.com sudah ada module Lark Base Create a Record, lalu mengapa memakai module HTTP make a request?

iya benar, make.com sudah ada module Lark Base Create a Record, akan tetapi module tersebut adalah dari 3rd party developer yang berbayar. Langkah yang kita buat di artikel ini adalah cara lain yang tidak membutuhkan biaya alias gratis.

Mengapa Upload by batch 500 data per batch dengan memakai API Lark Base Create Records Batch Create? Kenapa tidak satu per satu saja?

karena jika satu per satu maka akan boros credit di make.com, jika 1 data membutuhkan 4 kredit, maka 100 data akan membutuhkan 400 kredit di make.com.

Maka dari itu kita memakai API Lark Base Create Records Batch Create, sesuai dokumentasi, Batch Create mampu upload sampai dengan 500 data per sekali upload, dan hanya akan menghabiskan 6 kredit per batch di make.com