Build a daily panchanga bot with n8n, no code

A schedule trigger, one Asterwise node, and a formatted message. This post shows the exact workflow and a real run, not a mockup: the output below is a live call made while writing it.

The finished workflow is at github.com/asterwise/n8n-daily-panchanga, ready to import. This post builds it from scratch with the n8n-nodes-asterwise community node, four steps and no code.

1. Install the node and add a credential

In n8n: Settings, Community Nodes, Install, package name n8n-nodes-asterwise. Then create an Asterwise API credential with a key from the dashboard, free tier 500 calls a month, no card.

2. A schedule trigger

Add a Schedule Trigger node set to a cron expression, 0 6 * * * for 06:00 every day. Keep a Manual Trigger alongside it too, so you can test the workflow on demand without waiting for the schedule.

3. The Asterwise node

Add an Asterwise node, resource Vedic Astrology, operation Panchanga. Set Date to {{ $today.toFormat('yyyy-MM-dd') }} and Location to your city, for example New Delhi, India. That is the whole configuration; the API geocodes the place on its own, so no latitude or longitude is needed.

4. Format the message

Add a Set node named "Format message" with one string field, built from the Asterwise node's output:

Today ({{ $today.toFormat('yyyy-MM-dd') }}): {{ $json.data.tithi.name }} ({{ $json.data.tithi.paksha }} paksha), {{ $json.data.nakshatra.name }} nakshatra (pada {{ $json.data.nakshatra.pada }}), {{ $json.data.vara.name }}. Yoga: {{ $json.data.yoga.name }}, Karana: {{ $json.data.karana.name }}.

The daily panchanga endpoint returns exactly five objects, tithi, vara, nakshatra, yoga and karana, each with a name field and a few numeric ones. It does not return sunrise, sunset or a top-level date; those belong to the separate Tamil panchanga endpoint. Building the message from the fields that actually exist, rather than guessing, is the difference between a workflow that runs and one that silently prints "undefined" every morning, which is exactly what happened on the first draft of this one before the fields were checked against a live response.

The real output

Executed live while writing this post, 6 September 2026, for New Delhi:

Today (2026-09-06): Dashami (Krishna paksha), Ardra nakshatra (pada 2), Ravivar. Yoga: Siddhi, Karana: Vanija.

Click Execute Workflow to confirm the same thing in your own instance before activating the schedule.

5. Send it somewhere

Add a node after Format message for wherever the text should go: a WhatsApp Business node, Telegram, Slack, email, or a row appended to a spreadsheet. Reference {{ $json.message }} as the body. Activate the workflow, and it runs unattended from then on.

Where to take it

  • Swap the Panchanga operation for Natal Chart or Matchmaking, both on the same node, to build a birthday-chart reminder or a compatibility check triggered from a form.
  • Add an IF node on $json.data.yoga.is_inauspicious to only send a message on days worth flagging.
  • Point the Location field at a variable from an earlier node to run the same workflow for a list of cities.

Every Asterwise position is checked against NASA JPL Horizons. The free tier is 500 calls a month with no card, which covers a daily panchanga bot for well over a year on its own.