Connectors
তোমার অ্যাপকে Slack, Resend এবং ElevenLabs-এর মতো থার্ড-পার্টি সার্ভিসের সাথে সংযুক্ত করো। Credentials এনক্রিপ্টেড এবং actions আগে থেকেই authenticated।
Connectors তোমাকে কোডে raw API key ম্যানেজ না করেই বাহ্যিক সার্ভিস অ্যাপে যুক্ত করার সুবিধা দেয়। একবার একটি connection তৈরি করো, সেটি তোমার project-এ bind করো, এবং Proyecta SDK-এর মাধ্যমে অ্যাপ থেকে pre-built actions কল করো। Credentials বিশ্রামকালীন (at rest) এনক্রিপ্টেড থাকে এবং কখনো তোমার frontend কোডে উন্মুক্ত হয় না।
উপলব্ধ connectors
Section titled “উপলব্ধ connectors”| Connector | বিভাগ | Auth-এর ধরন | এটি কী করে |
|---|---|---|---|
| Resend | Communications | API key | Transactional email পাঠানো, batch email পাঠানো, যাচাইকৃত domain তালিকা দেখা |
| Slack | Communications | OAuth | বার্তা পোস্ট করা, channel ও user তালিকা দেখা, বার্তায় react করা, thread পড়া |
| ElevenLabs | AI | API key | Text-to-speech, উপলব্ধ voice তালিকা দেখা, sound effect তৈরি করা |
নিয়মিত আরও connectors যোগ করা হচ্ছে।
Connectors কীভাবে কাজ করে
Section titled “Connectors কীভাবে কাজ করে”- তুমি একটি connection তৈরি করো — credentials দাও (একটি API key অথবা OAuth-এর মাধ্যমে সাইন ইন করো)
- Connection-টি একটি project-এ bind করো — এটি project-কে সেই credentials ব্যবহারের অনুমতি দেয়
- তোমার অ্যাপ actions কল করে — SDK-টি Proyecta Cloud-এর মাধ্যমে request পাঠায়, যা server-side-এ credentials ইনজেক্ট করে
তোমার অ্যাপ কোড কখনো raw API key বা OAuth token স্পর্শ করে না। Connector সিস্টেম authentication, rate limiting এবং audit logging সামলায়।
একটি connector সেট আপ করো
Section titled “একটি connector সেট আপ করো”- Builder-এ তোমার project খোলো
- Settings > Connectors-এ যাও
- Catalog থেকে একটি connector-এ ক্লিক করো (যেমন, Resend)
- তোমার credentials দাও:
- API key connectors (Resend, ElevenLabs): তোমার secret key পেস্ট করো
- OAuth connectors (Slack): সাইন ইন করো এবং অ্যাক্সেস authorize করো
- Connection-টিকে একটি নাম দাও (যেমন, “Production Resend”)
- Connection-টি স্বয়ংক্রিয়ভাবে পরীক্ষা করা হয় এবং বৈধ হলে Active হিসেবে চিহ্নিত হয়
তোমার অ্যাপে একটি connector ব্যবহার করো
Section titled “তোমার অ্যাপে একটি connector ব্যবহার করো”Proyecta SDK ব্যবহার করে server-side কোড (Convex actions) থেকে connector actions কল করা হয়:
'use node';import { action } from './_generated/server';import { v } from 'convex/values';import Proyecta from '@proyecta-ai/sdk';
const proyecta = new Proyecta({ apiKey: process.env.PROYECTA_API_KEY ?? null });
export const notifySlack = action({ args: { message: v.string(), }, handler: async (ctx, args) => { const result = await proyecta.connectors.execute({ connectorId: 'slack', actionId: 'postMessage', input: { channel: '#general', text: args.message, }, }); return result.output; },});execute মেথডটি নিচের তথ্য ফেরত দেয়:
| ফিল্ড | বিবরণ |
|---|---|
output | Action-এর রিটার্ন মান (আকৃতি action-এর উপর নির্ভর করে) |
durationMs | মিলিসেকেন্ডে execution সময় |
invocationId | Audit log entry-র ID |
AI-কে দিয়ে wire করাও
Section titled “AI-কে দিয়ে wire করাও”তোমাকে নিজে হাতে connector কোড লিখতে হবে না। AI builder জানে তোমার project-এ কোন connectors bound আছে এবং তোমার হয়ে integration তৈরি করে দিতে পারে:
"Send a welcome email when users sign up"— Resend connector ব্যবহার করে"Post a Slack message when a new order comes in"— Slack connector ব্যবহার করে"Play audio narration on the article page"— ElevenLabs connector ব্যবহার করে
Connector actions রেফারেন্স
Section titled “Connector actions রেফারেন্স”Resend
Section titled “Resend”| Action | পার্শ্ব-প্রতিক্রিয়া | বিবরণ |
|---|---|---|
sendEmail | write | একটি একক transactional email পাঠাও |
sendBatch | write | একসাথে একাধিক email পাঠাও |
listDomains | read | যাচাইকৃত sending domain-এর তালিকা দেখো |
| Action | পার্শ্ব-প্রতিক্রিয়া | বিবরণ |
|---|---|---|
postMessage | write | একটি channel-এ বার্তা পোস্ট করো |
listChannels | read | Workspace-এর channel তালিকা দেখো |
listUsers | read | Workspace-এর সদস্যদের তালিকা দেখো |
reactToMessage | write | একটি emoji reaction যোগ করো |
getThread | read | Thread-এর replies দেখো |
ElevenLabs
Section titled “ElevenLabs”| Action | পার্শ্ব-প্রতিক্রিয়া | বিবরণ |
|---|---|---|
textToSpeech | write | টেক্সটকে speech audio-তে রূপান্তর করো |
listVoices | read | উপলব্ধ voice-এর তালিকা দেখো |
generateSoundEffect | write | একটি AI sound effect তৈরি করো |
Connection-এর অবস্থা
Section titled “Connection-এর অবস্থা”| অবস্থা | অর্থ |
|---|---|
| Active | Credentials বৈধ এবং connection ব্যবহারের জন্য প্রস্তুত |
| Broken | Credentials মেয়াদোত্তীর্ণ বা বাতিল হয়েছে — পুনরুদ্ধার করতে আপডেট করো |
নিরাপত্তা
Section titled “নিরাপত্তা”- Credentials বিশ্রামকালীন (at rest) AES-256-GCM দিয়ে এনক্রিপ্টেড
- প্রতিটি project-এ প্রতিটি connector-এ প্রতি মিনিটে ১,০০০ request পর্যন্ত rate-limited
- প্রতিটি action কল একটি audit trail সহ লগ করা হয় (connection, action, duration, status)
- Connection-গুলো পুরো workspace-এর আওতায় scoped
সচরাচর জিজ্ঞাসা
Section titled “সচরাচর জিজ্ঞাসা”একটি connection কি একাধিক project-এ ব্যবহার করা যাবে?
হ্যাঁ। Connection একবার তৈরি করো এবং একই workspace-এর যেকোনো সংখ্যক project-এ bind করো।
আমার API key মেয়াদোত্তীর্ণ বা বাতিল হলে কী হবে?
Connection-এর অবস্থা Broken-এ পরিবর্তিত হয়। পুনরুদ্ধার করতে Settings > Connectors-এ গিয়ে credentials আপডেট করো।
Frontend থেকে কি connector actions কল করা যাবে?
না। Credentials সুরক্ষিত রাখতে connector actions অবশ্যই server-side কোড (Convex actions) থেকে কল করতে হবে। SDK Proyecta Cloud-এর মাধ্যমে route করে, যা server-side-এ authentication ইনজেক্ট করে।
আমি কি নিজের কাস্টম connectors যোগ করতে পারব?
এখনো না। কাস্টম connector definitions রোডম্যাপে রয়েছে।
###近শীঘ্রই আসছে
- অতিরিক্ত connectors (Google, Twilio, SendGrid, এবং আরও)
- কাস্টম connector definitions — নিজের API নিয়ে এসো
- সংযুক্ত সার্ভিস থেকে আসা ইনকামিং ইভেন্টের জন্য webhook ingestion
- OAuth gateway — client-initiated flow-এর ক্ষেত্রেও token server-side-এ রাখো